diff --git a/backend/app.pid b/backend/app.pid new file mode 100644 index 00000000..92e114d3 --- /dev/null +++ b/backend/app.pid @@ -0,0 +1 @@ +40304 diff --git a/backend/app/api/__init__.py b/backend/app/api/__init__.py index 8c318f7d..72153387 100644 --- a/backend/app/api/__init__.py +++ b/backend/app/api/__init__.py @@ -33,6 +33,7 @@ from app.api.env_detect import router as env_detect_router from app.api.cleanroom_garment import router as cleanroom_garment_router from app.api.market import router as market_router from app.api.pre_transit_sample import router as pre_transit_sample_router +from app.api.oa_approval import router as oa_approval_router __all__ = [ "public_router", @@ -69,4 +70,5 @@ __all__ = [ "cleanroom_garment_router", "market_router", "pre_transit_sample_router", + "oa_approval_router", ] diff --git a/backend/app/api/admin.py b/backend/app/api/admin.py index 4b14f8fd..ec6ae0aa 100644 --- a/backend/app/api/admin.py +++ b/backend/app/api/admin.py @@ -250,6 +250,7 @@ class UserCreateBody(BaseModel): nick_name: str = Field(..., alias="nickName") password: str = Field(..., alias="password") dept_id: Optional[str] = Field(None, alias="deptId") + supervisor_user_id: Optional[str] = Field(None, alias="supervisorUserId") email: Optional[str] = Field("", alias="email") phone_no: Optional[str] = Field("", alias="phoneNo") sex: Optional[str] = Field("0", alias="sex") @@ -265,6 +266,7 @@ class UserUpdateBody(BaseModel): model_config = ConfigDict(populate_by_name=True) nick_name: Optional[str] = Field(None, alias="nickName") dept_id: Optional[str] = Field(None, alias="deptId") + supervisor_user_id: Optional[str] = Field(None, alias="supervisorUserId") email: Optional[str] = Field(None, alias="email") phone_no: Optional[str] = Field(None, alias="phoneNo") sex: Optional[str] = Field(None, alias="sex") @@ -373,6 +375,7 @@ async def create_user( nick_name=body.nick_name, password=body.password, dept_id=body.dept_id, + supervisor_user_id=body.supervisor_user_id, email=body.email, phone_no=body.phone_no, sex=body.sex, @@ -404,6 +407,7 @@ async def update_user( user_id, nick_name=payload.get("nick_name"), dept_id=payload.get("dept_id"), + supervisor_user_id=payload.get("supervisor_user_id"), email=payload.get("email"), phone_no=payload.get("phone_no"), sex=payload.get("sex"), @@ -670,6 +674,7 @@ class DeptCreateBody(BaseModel): status: Optional[str] = Field("1") leader: Optional[str] = None leader_phone: Optional[str] = Field(None, alias="leaderPhone") + leader_user_id: Optional[str] = Field(None, alias="leaderUserId") order_num: Optional[int] = Field(0, alias="orderNum") remark: Optional[str] = None @@ -682,6 +687,7 @@ class DeptUpdateBody(BaseModel): status: Optional[str] = None leader: Optional[str] = None leader_phone: Optional[str] = Field(None, alias="leaderPhone") + leader_user_id: Optional[str] = Field(None, alias="leaderUserId") order_num: Optional[int] = Field(None, alias="orderNum") remark: Optional[str] = None @@ -713,6 +719,7 @@ async def create_dept( status=body.status, leader=body.leader, leader_phone=body.leader_phone, + leader_user_id=body.leader_user_id, tenant_no=tenant_no, order_num=body.order_num, remark=body.remark, @@ -740,6 +747,7 @@ async def update_dept( status=payload.get("status"), leader=payload.get("leader"), leader_phone=payload.get("leader_phone"), + leader_user_id=payload.get("leader_user_id"), order_num=payload.get("order_num"), remark=payload.get("remark"), user_id=user.get("user_id"), diff --git a/backend/app/api/menu.py b/backend/app/api/menu.py index 82fa01ff..dfd8b65b 100644 --- a/backend/app/api/menu.py +++ b/backend/app/api/menu.py @@ -850,7 +850,95 @@ STATIC_MENU_TREE = [ }, ], }, - # 工作流管理 + # OA审批(钉钉交互) + { + "id": "OA000000000000000000000000000001", + "name": "OaApproval", + "path": "oa-approval", + "component": "", + "meta": { + "title": "OA审批", + "icon": "ri:auction-line", + "keepAlive": False, + "roles": ["admin"], + }, + "children": [ + { + "id": "OA000000000000000000000000000101", + "name": "OaApprovalApps", + "path": "apps", + "component": "/oa-approval/apps/index", + "meta": {"title": "审批管理", "keepAlive": True, "menuCode": "oa:apps:list"}, + }, + { + "id": "OA000000000000000000000000000102", + "name": "OaApprovalRoles", + "path": "roles", + "component": "/oa-approval/roles/index", + "meta": {"title": "工作流角色", "keepAlive": True, "menuCode": "oa:roles:list"}, + }, + { + "id": "OA000000000000000000000000000103", + "name": "OaApprovalStart", + "path": "start", + "component": "/oa-approval/start/index", + "meta": {"title": "发起审批", "keepAlive": True, "menuCode": "oa:start"}, + }, + { + "id": "OA000000000000000000000000000104", + "name": "OaApprovalPending", + "path": "pending", + "component": "/oa-approval/pending/index", + "meta": {"title": "待处理", "keepAlive": True, "menuCode": "oa:pending"}, + }, + { + "id": "OA000000000000000000000000000105", + "name": "OaApprovalDone", + "path": "done", + "component": "/oa-approval/done/index", + "meta": {"title": "已处理", "keepAlive": True, "menuCode": "oa:done"}, + }, + { + "id": "OA000000000000000000000000000106", + "name": "OaApprovalMine", + "path": "mine", + "component": "/oa-approval/mine/index", + "meta": {"title": "我发起的", "keepAlive": True, "menuCode": "oa:mine"}, + }, + { + "id": "OA000000000000000000000000000107", + "name": "OaApprovalCc", + "path": "cc", + "component": "/oa-approval/cc/index", + "meta": {"title": "抄送我的", "keepAlive": True, "menuCode": "oa:cc"}, + }, + { + "id": "OA000000000000000000000000000201", + "name": "OaApprovalDesigner", + "path": "designer/:id", + "component": "/oa-approval/designer/index", + "meta": { + "title": "审批设计", + "keepAlive": False, + "isHide": True, + "menuCode": "oa:designer", + }, + }, + { + "id": "OA000000000000000000000000000202", + "name": "OaApprovalInstanceDetail", + "path": "instances/:id", + "component": "/oa-approval/instances/detail", + "meta": { + "title": "审批详情", + "keepAlive": False, + "isHide": True, + "menuCode": "oa:instance:detail", + }, + }, + ], + }, + # 旧工作流管理(侧栏隐藏) { "id": "WKF00000000000000000000000000001", "name": "Workflow", @@ -860,6 +948,7 @@ STATIC_MENU_TREE = [ "title": "工作流管理", "icon": "workflow", "keepAlive": False, + "isHide": True, "roles": ["admin"], }, "children": [ @@ -868,35 +957,60 @@ STATIC_MENU_TREE = [ "name": "WorkflowProcess", "path": "process", "component": "/system/workflow/process/index", - "meta": {"title": "流程配置", "keepAlive": True, "menuCode": "workflow:process"}, + "meta": { + "title": "流程配置", + "keepAlive": True, + "isHide": True, + "menuCode": "workflow:process", + }, }, { "id": "10000000000000000000000000000wf02", "name": "WorkflowPending", "path": "pending", "component": "/system/workflow/task-pending/index", - "meta": {"title": "待办中心", "keepAlive": True, "menuCode": "workflow:pending"}, + "meta": { + "title": "待办中心", + "keepAlive": True, + "isHide": True, + "menuCode": "workflow:pending", + }, }, { "id": "10000000000000000000000000000wf03", "name": "WorkflowCompleted", "path": "completed", "component": "/system/workflow/task-completed/index", - "meta": {"title": "已办中心", "keepAlive": True, "menuCode": "workflow:completed"}, + "meta": { + "title": "已办中心", + "keepAlive": True, + "isHide": True, + "menuCode": "workflow:completed", + }, }, { "id": "10000000000000000000000000000wf05", "name": "WorkflowMyApplications", "path": "my-applications", "component": "/system/workflow/my-applications/index", - "meta": {"title": "我的申请", "keepAlive": True, "menuCode": "workflow:myApplications"}, + "meta": { + "title": "我的申请", + "keepAlive": True, + "isHide": True, + "menuCode": "workflow:myApplications", + }, }, { "id": "10000000000000000000000000000wf04", "name": "LeaveRequest", "path": "leave", "component": "/system/leave/index", - "meta": {"title": "请假申请", "keepAlive": True, "menuCode": "workflow:leave"}, + "meta": { + "title": "请假申请", + "keepAlive": True, + "isHide": True, + "menuCode": "workflow:leave", + }, }, ], }, diff --git a/backend/app/crud/dept.py b/backend/app/crud/dept.py index 49ca5aa3..0671d229 100644 --- a/backend/app/crud/dept.py +++ b/backend/app/crud/dept.py @@ -17,6 +17,7 @@ def _row_to_dict(d: SysDept) -> Dict[str, Any]: "deptName": d.dept_name, "deptCategoryCode": d.dept_category_code or "", "status": d.status, + "leaderUserId": d.leader_user_id or "", "leader": d.leader or "", "leaderPhone": d.leader_phone or "", "tenantNo": d.tenant_no, @@ -111,6 +112,7 @@ def create_dept( status: Optional[str] = "1", leader: Optional[str] = None, leader_phone: Optional[str] = None, + leader_user_id: Optional[str] = None, tenant_no: Optional[str] = None, order_num: Optional[int] = None, remark: Optional[str] = None, @@ -125,6 +127,7 @@ def create_dept( dept_name=name, dept_category_code=(dept_category_code or "").strip() or None, status=status or "1", + leader_user_id=(leader_user_id or "").strip() or None, leader=(leader or "").strip() or None, leader_phone=(leader_phone or "").strip() or None, tenant_no=tenant_no or "zkxw", @@ -152,6 +155,7 @@ def update_dept( status: Optional[str] = None, leader: Optional[str] = None, leader_phone: Optional[str] = None, + leader_user_id: Optional[str] = None, order_num: Optional[int] = None, remark: Optional[str] = None, user_id: Optional[str] = None, @@ -165,6 +169,8 @@ def update_dept( obj.dept_category_code = (dept_category_code or "").strip() or None if status is not None: obj.status = status + if leader_user_id is not None: + obj.leader_user_id = (leader_user_id or "").strip() or None if leader is not None: obj.leader = (leader or "").strip() or None if leader_phone is not None: diff --git a/backend/app/crud/user.py b/backend/app/crud/user.py index f1c0edd7..512a789e 100644 --- a/backend/app/crud/user.py +++ b/backend/app/crud/user.py @@ -39,6 +39,7 @@ def _row_to_dict(u: SysUser, dept_name: str = "") -> Dict[str, Any]: return { "id": u.id, "deptId": u.dept_id or "", + "supervisorUserId": getattr(u, "supervisor_user_id", None) or "", "userNo": u.user_no, "nickName": u.nick_name, "email": u.email or "", @@ -302,6 +303,7 @@ def create_user( user_id: Optional[str] = None, role_ids: Optional[List[str]] = None, post_ids: Optional[List[str]] = None, + supervisor_user_id: Optional[str] = None, ) -> SysUser: un = (user_no or "").strip() if not un: @@ -316,6 +318,7 @@ def create_user( obj = SysUser( id=generate_uuid(), dept_id=dept_id or None, + supervisor_user_id=(supervisor_user_id or "").strip() or None, user_no=un, nick_name=nn, email=(email or "").strip(), @@ -359,6 +362,7 @@ def update_user( user_id_updater: Optional[str] = None, role_ids: Optional[List[str]] = None, post_ids: Optional[List[str]] = None, + supervisor_user_id: Optional[str] = None, ) -> SysUser: obj = get_user(db, user_id) if not obj: @@ -368,6 +372,8 @@ def update_user( obj.nick_name = (nick_name or "").strip() or obj.nick_name if dept_id is not None: obj.dept_id = dept_id or None + if supervisor_user_id is not None: + obj.supervisor_user_id = (supervisor_user_id or "").strip() or None if email is not None: obj.email = (email or "").strip() if phone_no is not None: diff --git a/backend/app/graphify-out/cache/ast/02112249e7a9e618ba1cff6d4d0a1a772d15712f6072da2b19188849be0dc162.json b/backend/app/graphify-out/cache/ast/02112249e7a9e618ba1cff6d4d0a1a772d15712f6072da2b19188849be0dc162.json new file mode 100644 index 00000000..c94c533e --- /dev/null +++ b/backend/app/graphify-out/cache/ast/02112249e7a9e618ba1cff6d4d0a1a772d15712f6072da2b19188849be0dc162.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "label": "oa_publish.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L1"}, {"id": "services_oa_publish_extract_rules", "label": "_extract_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L76"}, {"id": "services_oa_publish_walk_form_rules", "label": "_walk_form_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L91"}, {"id": "services_oa_publish_count_fillable_fields", "label": "count_fillable_fields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L99"}, {"id": "services_oa_publish_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L113"}, {"id": "services_oa_publish_validate_flow_tree", "label": "validate_flow_tree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L117"}, {"id": "services_oa_publish_validate_oa_roles_referenced", "label": "validate_oa_roles_referenced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L204"}, {"id": "services_oa_publish_validate_control_types", "label": "validate_control_types()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L273"}, {"id": "services_oa_publish_validate_draft_for_publish", "label": "validate_draft_for_publish()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L289"}, {"id": "services_oa_publish_publish_app", "label": "publish_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L312"}, {"id": "services_oa_publish_rationale_319", "label": "\u6821\u9a8c\u5e76\u53d1\u5e03\u5f53\u524d\u8349\u7a3f\u3002 \u6210\u529f\u8fd4\u56de (draft_dict_like_published_info, [])\uff1b \u5931\u8d25\u8fd4\u56de ({}, errors)\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L319"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_extract_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L76", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_walk_form_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_count_fillable_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L99", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L113", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_flow_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_oa_roles_referenced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L204", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_control_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L273", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_draft_for_publish", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L289", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_publish_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L312", "weight": 1.0}, {"source": "services_oa_publish_count_fillable_fields", "target": "services_oa_publish_walk_form_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_publish_count_fillable_fields", "target": "services_oa_publish_extract_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_publish_validate_flow_tree", "target": "services_oa_publish_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L127", "weight": 1.0}, {"source": "services_oa_publish_validate_control_types", "target": "services_oa_publish_walk_form_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L275", "weight": 1.0}, {"source": "services_oa_publish_validate_control_types", "target": "services_oa_publish_extract_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L275", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_count_fillable_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L304", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_control_types", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L306", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_flow_tree", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L307", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_oa_roles_referenced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L308", "weight": 1.0}, {"source": "services_oa_publish_publish_app", "target": "services_oa_publish_validate_draft_for_publish", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L333", "weight": 1.0}, {"source": "services_oa_publish_rationale_319", "target": "services_oa_publish_publish_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L319", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L79"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L80"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L81"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L83"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L84"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L86"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L86"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L93"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L94"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L94"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L94"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L95"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L96"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L104"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L104"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L107"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L107"}, {"caller_nid": "services_oa_publish_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L114"}, {"caller_nid": "services_oa_publish_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L114"}, {"caller_nid": "services_oa_publish_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L114"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L119"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L124"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L128"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L198"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L198"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L200"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L207"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L208"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L231"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L231"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L231"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "collect", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L233"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L233"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L238"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L238"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L238"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L240"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L240"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L248"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L250"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L252"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L255"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L255"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L255"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L257"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L257"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L263"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L265"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L267"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L269"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L277"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L279"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L279"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L283"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L284"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L285"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L299"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L300"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L300"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L305"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L306"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L307"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L308"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L324"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L327"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L330"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L331"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L332"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L338"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "_find_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L343"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L351"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L353"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L353"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L353"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L366"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L372"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L376"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L376"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L376"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L390"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L394"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L395"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L396"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/04ad0d56964c6cb8b2d608454e176597d7716144ebe2ceb560534b6f0e6514fb.json b/backend/app/graphify-out/cache/ast/04ad0d56964c6cb8b2d608454e176597d7716144ebe2ceb560534b6f0e6514fb.json new file mode 100644 index 00000000..0bc2af31 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/04ad0d56964c6cb8b2d608454e176597d7716144ebe2ceb560534b6f0e6514fb.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "label": "oa_formula.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L1"}, {"id": "services_oa_formula_formulaerror", "label": "FormulaError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L32"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_formula_to_number", "label": "_to_number()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L36"}, {"id": "services_oa_formula_truthy", "label": "_truthy()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L56"}, {"id": "services_oa_formula_preprocess_formula", "label": "preprocess_formula()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L68"}, {"id": "services_oa_formula_safeeval", "label": "_SafeEval", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L76"}, {"id": "services_oa_formula_safeeval_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L77"}, {"id": "services_oa_formula_safeeval_visit", "label": ".visit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L80"}, {"id": "services_oa_formula_safeeval_visit_expression", "label": ".visit_Expression()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L87"}, {"id": "services_oa_formula_safeeval_visit_constant", "label": ".visit_Constant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L90"}, {"id": "services_oa_formula_safeeval_visit_num", "label": ".visit_Num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L96"}, {"id": "services_oa_formula_safeeval_visit_str", "label": ".visit_Str()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L99"}, {"id": "services_oa_formula_safeeval_visit_nameconstant", "label": ".visit_NameConstant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L102"}, {"id": "services_oa_formula_safeeval_visit_name", "label": ".visit_Name()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L105"}, {"id": "services_oa_formula_safeeval_visit_unaryop", "label": ".visit_UnaryOp()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L114"}, {"id": "services_oa_formula_safeeval_visit_binop", "label": ".visit_BinOp()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L124"}, {"id": "services_oa_formula_safeeval_visit_compare", "label": ".visit_Compare()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L136"}, {"id": "services_oa_formula_safeeval_visit_boolop", "label": ".visit_BoolOp()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L154"}, {"id": "services_oa_formula_safeeval_visit_ifexp", "label": ".visit_IfExp()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L169"}, {"id": "services_oa_formula_safeeval_visit_call", "label": ".visit_Call()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L172"}, {"id": "services_oa_formula_safeeval_visit_list", "label": ".visit_List()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L198"}, {"id": "services_oa_formula_eval_formula", "label": "eval_formula()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L202"}, {"id": "services_oa_formula_extract_rules", "label": "_extract_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L211"}, {"id": "services_oa_formula_walk_rules", "label": "_walk_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L221"}, {"id": "services_oa_formula_apply_formulas_and_linkages", "label": "apply_formulas_and_linkages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L229"}, {"id": "services_oa_formula_rationale_1", "label": "OA \u8868\u5355\u516c\u5f0f\u4e0e\u6570\u636e\u8054\u52a8\uff08\u7981\u6b62\u4efb\u610f eval\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L1"}, {"id": "services_oa_formula_rationale_69", "label": "\u5c06 {field} \u8f6c\u4e3a\u5408\u6cd5\u6807\u8bc6\u7b26\u5f15\u7528 field\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L69"}, {"id": "services_oa_formula_rationale_232", "label": "\u6309 schema \u4e2d\u5b57\u6bb5 props.formula / props.linkage \u56de\u586b form_data\u3002 linkage \u793a\u4f8b: { \"when", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L232"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "ast", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "operator", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "re", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_formulaerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L32", "weight": 1.0}, {"source": "services_oa_formula_formulaerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_to_number", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_truthy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L56", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_preprocess_formula", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L68", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_safeeval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L76", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L77", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L80", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_expression", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L87", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_constant", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L90", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_num", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L96", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_str", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L99", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_nameconstant", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L102", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L105", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_unaryop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L114", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_binop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L124", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_compare", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L136", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_boolop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L154", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_ifexp", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L169", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L172", "weight": 1.0}, {"source": "services_oa_formula_safeeval", "target": "services_oa_formula_safeeval_visit_list", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L198", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_eval_formula", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L202", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_extract_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L211", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_walk_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L221", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "target": "services_oa_formula_apply_formulas_and_linkages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L229", "weight": 1.0}, {"source": "services_oa_formula_to_number", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L52", "weight": 1.0}, {"source": "services_oa_formula_preprocess_formula", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L72", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L84", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_expression", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L88", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_constant", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_name", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L107", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_unaryop", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L115", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_unaryop", "target": "services_oa_formula_to_number", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L117", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_unaryop", "target": "services_oa_formula_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L121", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_unaryop", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L122", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_binop", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L127", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_binop", "target": "services_oa_formula_to_number", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L128", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_binop", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L128", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_compare", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L137", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_compare", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L141", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_compare", "target": "services_oa_formula_to_number", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L145", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_boolop", "target": "services_oa_formula_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L158", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_boolop", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L158", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_boolop", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L167", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_ifexp", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L170", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_ifexp", "target": "services_oa_formula_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L170", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_call", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L174", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_call", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L178", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_call", "target": "services_oa_formula_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L182", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_call", "target": "services_oa_formula_to_number", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L188", "weight": 1.0}, {"source": "services_oa_formula_safeeval_visit_list", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L199", "weight": 1.0}, {"source": "services_oa_formula_eval_formula", "target": "services_oa_formula_preprocess_formula", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_formula_eval_formula", "target": "services_oa_formula_formulaerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L207", "weight": 1.0}, {"source": "services_oa_formula_eval_formula", "target": "services_oa_formula_safeeval_visit", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L208", "weight": 1.0}, {"source": "services_oa_formula_eval_formula", "target": "services_oa_formula_safeeval", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L208", "weight": 1.0}, {"source": "services_oa_formula_apply_formulas_and_linkages", "target": "services_oa_formula_walk_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L239", "weight": 1.0}, {"source": "services_oa_formula_apply_formulas_and_linkages", "target": "services_oa_formula_extract_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L239", "weight": 1.0}, {"source": "services_oa_formula_apply_formulas_and_linkages", "target": "services_oa_formula_eval_formula", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L252", "weight": 1.0}, {"source": "services_oa_formula_apply_formulas_and_linkages", "target": "services_oa_formula_truthy", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L275", "weight": 1.0}, {"source": "services_oa_formula_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_formula_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L1", "weight": 1.0}, {"source": "services_oa_formula_rationale_69", "target": "services_oa_formula_preprocess_formula", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L69", "weight": 1.0}, {"source": "services_oa_formula_rationale_232", "target": "services_oa_formula_apply_formulas_and_linkages", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L232", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_formula_to_number", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L39"}, {"caller_nid": "services_oa_formula_to_number", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L40"}, {"caller_nid": "services_oa_formula_to_number", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L41"}, {"caller_nid": "services_oa_formula_to_number", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L43"}, {"caller_nid": "services_oa_formula_to_number", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L44"}, {"caller_nid": "services_oa_formula_to_number", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L49"}, {"caller_nid": "services_oa_formula_to_number", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L50"}, {"caller_nid": "services_oa_formula_to_number", "callee": "type", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L53"}, {"caller_nid": "services_oa_formula_truthy", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L59"}, {"caller_nid": "services_oa_formula_truthy", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L61"}, {"caller_nid": "services_oa_formula_truthy", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L62"}, {"caller_nid": "services_oa_formula_truthy", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L63"}, {"caller_nid": "services_oa_formula_truthy", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L64"}, {"caller_nid": "services_oa_formula_truthy", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L65"}, {"caller_nid": "services_oa_formula_preprocess_formula", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L70"}, {"caller_nid": "services_oa_formula_preprocess_formula", "callee": "sub", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L73"}, {"caller_nid": "services_oa_formula_safeeval_visit", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L82"}, {"caller_nid": "services_oa_formula_safeeval_visit", "callee": "visitor", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L85"}, {"caller_nid": "services_oa_formula_safeeval_visit_constant", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L91"}, {"caller_nid": "services_oa_formula_safeeval_visit_name", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L106"}, {"caller_nid": "services_oa_formula_safeeval_visit_name", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L111"}, {"caller_nid": "services_oa_formula_safeeval_visit_name", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L112"}, {"caller_nid": "services_oa_formula_safeeval_visit_unaryop", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L116"}, {"caller_nid": "services_oa_formula_safeeval_visit_unaryop", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L118"}, {"caller_nid": "services_oa_formula_safeeval_visit_unaryop", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L120"}, {"caller_nid": "services_oa_formula_safeeval_visit_binop", "callee": "type", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L125"}, {"caller_nid": "services_oa_formula_safeeval_visit_binop", "callee": "_BIN_OPS[op_type]", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L134"}, {"caller_nid": "services_oa_formula_safeeval_visit_compare", "callee": "zip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L138"}, {"caller_nid": "services_oa_formula_safeeval_visit_compare", "callee": "type", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L139"}, {"caller_nid": "services_oa_formula_safeeval_visit_compare", "callee": "_CMP_OPS[op_type]", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L146"}, {"caller_nid": "services_oa_formula_safeeval_visit_compare", "callee": "_CMP_OPS[op_type]", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L148"}, {"caller_nid": "services_oa_formula_safeeval_visit_boolop", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L155"}, {"caller_nid": "services_oa_formula_safeeval_visit_boolop", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L162"}, {"caller_nid": "services_oa_formula_safeeval_visit_call", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L173"}, {"caller_nid": "services_oa_formula_safeeval_visit_call", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L175"}, {"caller_nid": "services_oa_formula_safeeval_visit_call", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L180"}, {"caller_nid": "services_oa_formula_safeeval_visit_call", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L186"}, {"caller_nid": "services_oa_formula_safeeval_visit_call", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L193"}, {"caller_nid": "services_oa_formula_safeeval_visit_call", "callee": "abs", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L195"}, {"caller_nid": "services_oa_formula_eval_formula", "callee": "parse", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L205"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L212"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L213"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L214"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L215"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L215"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L215"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L216"}, {"caller_nid": "services_oa_formula_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L217"}, {"caller_nid": "services_oa_formula_walk_rules", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L223"}, {"caller_nid": "services_oa_formula_walk_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L224"}, {"caller_nid": "services_oa_formula_walk_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L225"}, {"caller_nid": "services_oa_formula_walk_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L226"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L237"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "range", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L242"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L245"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L248"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L249"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L249"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L252"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L255"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L262"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L263"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L263"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L266"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L268"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L270"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L270"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L271"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L271"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L275"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L278"}, {"caller_nid": "services_oa_formula_apply_formulas_and_linkages", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_formula.py", "source_location": "L279"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/05c0231590282d8c729306e1617a3fec9cb4c22419cab080ff1fe280dedc316d.json b/backend/app/graphify-out/cache/ast/05c0231590282d8c729306e1617a3fec9cb4c22419cab080ff1fe280dedc316d.json new file mode 100644 index 00000000..c725edf9 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/05c0231590282d8c729306e1617a3fec9cb4c22419cab080ff1fe280dedc316d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1"}, {"id": "crud_oa_approval_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L24"}, {"id": "crud_oa_approval_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L32"}, {"id": "crud_oa_approval_role_to_dict", "label": "_role_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L48"}, {"id": "crud_oa_approval_ensure_presets", "label": "ensure_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L64"}, {"id": "crud_oa_approval_member_count_map", "label": "_member_count_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L105"}, {"id": "crud_oa_approval_list_roles", "label": "list_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L123"}, {"id": "crud_oa_approval_get_role", "label": "get_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L143"}, {"id": "crud_oa_approval_create_role", "label": "create_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L151"}, {"id": "crud_oa_approval_update_role", "label": "update_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L200"}, {"id": "crud_oa_approval_delete_role", "label": "delete_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L233"}, {"id": "crud_oa_approval_list_role_users", "label": "list_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L246"}, {"id": "crud_oa_approval_replace_role_users", "label": "replace_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L270"}, {"id": "crud_oa_approval_list_oa_role_user_ids", "label": "list_oa_role_user_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L321"}, {"id": "crud_oa_approval_group_to_dict", "label": "_group_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L360"}, {"id": "crud_oa_approval_list_groups", "label": "list_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L372"}, {"id": "crud_oa_approval_get_group", "label": "get_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L382"}, {"id": "crud_oa_approval_create_group", "label": "create_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L390"}, {"id": "crud_oa_approval_update_group", "label": "update_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L422"}, {"id": "crud_oa_approval_delete_group", "label": "delete_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L452"}, {"id": "crud_oa_approval_app_to_dict", "label": "_app_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L475"}, {"id": "crud_oa_approval_get_app", "label": "get_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L498"}, {"id": "crud_oa_approval_list_apps", "label": "list_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L506"}, {"id": "crud_oa_approval_create_version", "label": "_create_version()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L566"}, {"id": "crud_oa_approval_create_app", "label": "create_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L603"}, {"id": "crud_oa_approval_update_app", "label": "update_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L667"}, {"id": "crud_oa_approval_delete_app", "label": "delete_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L729"}, {"id": "crud_oa_approval_find_draft", "label": "_find_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L750"}, {"id": "crud_oa_approval_find_latest_published", "label": "_find_latest_published()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L764"}, {"id": "crud_oa_approval_version_draft_to_dict", "label": "_version_draft_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L777"}, {"id": "crud_oa_approval_get_or_create_draft", "label": "get_or_create_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L810"}, {"id": "crud_oa_approval_save_draft", "label": "save_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L857"}, {"id": "crud_oa_approval_rationale_1", "label": "OA \u5ba1\u6279 CRUD\uff08\u5de5\u4f5c\u6d41\u89d2\u8272\u3001\u5206\u7ec4\u3001\u5e94\u7528\u3001\u8349\u7a3f\u7b49\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1"}, {"id": "crud_oa_approval_rationale_65", "label": "\u5e42\u7b49\u5199\u5165\u9884\u7f6e\u89d2\u8272 GM / CHAIRMAN\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L65"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_role_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_ensure_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L64", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_member_count_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L123", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L143", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L151", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L200", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L233", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L246", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_replace_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L270", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_oa_role_user_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L321", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_group_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L360", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L372", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L382", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L422", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L452", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_app_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L475", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L506", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L603", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L667", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L729", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_find_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L750", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_find_latest_published", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_version_draft_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L777", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_or_create_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L810", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_save_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L857", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_ensure_presets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L130", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_member_count_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L139", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_role_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L140", "weight": 1.0}, {"source": "crud_oa_approval_update_role", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L211", "weight": 1.0}, {"source": "crud_oa_approval_delete_role", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L234", "weight": 1.0}, {"source": "crud_oa_approval_replace_role_users", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L278", "weight": 1.0}, {"source": "crud_oa_approval_list_groups", "target": "crud_oa_approval_group_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L379", "weight": 1.0}, {"source": "crud_oa_approval_update_group", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L432", "weight": 1.0}, {"source": "crud_oa_approval_delete_group", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L453", "weight": 1.0}, {"source": "crud_oa_approval_app_to_dict", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L484", "weight": 1.0}, {"source": "crud_oa_approval_list_apps", "target": "crud_oa_approval_app_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L556", "weight": 1.0}, {"source": "crud_oa_approval_create_version", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L586", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L626", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L636", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_create_version", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L651", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L685", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L697", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L710", "weight": 1.0}, {"source": "crud_oa_approval_delete_app", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L730", "weight": 1.0}, {"source": "crud_oa_approval_version_draft_to_dict", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L778", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L813", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_find_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L816", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_version_draft_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L818", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_find_latest_published", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L819", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_create_version", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L822", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L828", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L868", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_get_or_create_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L872", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_find_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L873", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_update_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L892", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L899", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_version_draft_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L915", "weight": 1.0}, {"source": "crud_oa_approval_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1", "weight": 1.0}, {"source": "crud_oa_approval_rationale_65", "target": "crud_oa_approval_ensure_presets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L65", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_oa_approval_dumps", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L27"}, {"caller_nid": "crud_oa_approval_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L29"}, {"caller_nid": "crud_oa_approval_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L35"}, {"caller_nid": "crud_oa_approval_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L38"}, {"caller_nid": "crud_oa_approval_role_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L59"}, {"caller_nid": "crud_oa_approval_role_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L60"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L66"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L70"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L70"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L70"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "OaRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L80"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L81"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L96"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L97"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L99"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L101"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L109"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L109"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L109"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L111"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L119"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L131"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L131"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L132"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L135"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L135"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L135"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L140"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L145"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L145"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L145"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L162"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L163"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L163"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L165"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L167"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L169"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L171"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L171"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L171"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L176"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L177"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "OaRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L178"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L179"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L186"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L194"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L195"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L196"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L213"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L215"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L217"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L224"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L226"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L227"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L228"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L229"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L236"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L238"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L241"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L242"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L243"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L248"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L248"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "outerjoin", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L248"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L248"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L249"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L259"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L280"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L281"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L283"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L283"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L283"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L295"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L296"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L298"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L301"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L302"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "OaRoleUser", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L303"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L304"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L318"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L326"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L326"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L326"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L328"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L338"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L338"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L338"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L340"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L340"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L347"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L350"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L351"}, {"caller_nid": "crud_oa_approval_group_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L367"}, {"caller_nid": "crud_oa_approval_group_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L368"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L374"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L374"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L374"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L374"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L376"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L376"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L384"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L384"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L384"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L399"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L401"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L402"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "OaAppGroup", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L403"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L404"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L408"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L416"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L417"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L418"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L434"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L436"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L438"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L443"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L445"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L446"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L447"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L448"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L455"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L457"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L457"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L457"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L462"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L465"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L466"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L467"}, {"caller_nid": "crud_oa_approval_app_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L493"}, {"caller_nid": "crud_oa_approval_app_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L494"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L500"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L500"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L500"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L514"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L514"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L516"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L518"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L519"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L523"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L523"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L523"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L523"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L524"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L528"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L528"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L528"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L529"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L536"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L536"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L536"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L546"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L546"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L546"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L555"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L558"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L559"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L579"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "OaAppVersion", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L580"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L581"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L599"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L620"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L622"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L623"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L624"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L625"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L627"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L628"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "OaApp", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L629"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L630"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L633"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L634"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L642"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L650"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L662"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L663"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L687"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L689"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L691"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L692"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L693"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L696"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L698"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L701"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L703"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L704"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L705"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L720"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L722"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L723"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L724"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L725"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L732"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L733"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L737"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L739"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L739"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L739"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L746"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L747"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L752"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L752"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L752"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L752"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L759"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L766"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L766"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L766"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L779"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L780"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L782"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L783"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L806"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L815"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L835"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L835"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L835"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L835"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L837"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L852"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L853"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L870"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L875"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L896"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L897"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L903"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L904"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L905"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L911"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L912"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L913"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/0d4fef5d0aaba7324c22742e85ebb9ba5eddc42c29b8a325f6ff1db8d94b3762.json b/backend/app/graphify-out/cache/ast/0d4fef5d0aaba7324c22742e85ebb9ba5eddc42c29b8a325f6ff1db8d94b3762.json new file mode 100644 index 00000000..c4631e6d --- /dev/null +++ b/backend/app/graphify-out/cache/ast/0d4fef5d0aaba7324c22742e85ebb9ba5eddc42c29b8a325f6ff1db8d94b3762.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "label": "dept.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L1"}, {"id": "crud_dept_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L13"}, {"id": "crud_dept_build_tree", "label": "_build_tree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L31"}, {"id": "crud_dept_collect_with_ancestors", "label": "_collect_with_ancestors()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L39"}, {"id": "crud_dept_list_depts", "label": "list_depts()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L55"}, {"id": "crud_dept_list_depts_tree", "label": "list_depts_tree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L76"}, {"id": "crud_dept_get_dept", "label": "get_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L98"}, {"id": "crud_dept_create_dept", "label": "create_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L106"}, {"id": "crud_dept_update_dept", "label": "update_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L149"}, {"id": "crud_dept_cascade_soft_delete", "label": "_cascade_soft_delete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L190"}, {"id": "crud_dept_soft_delete_dept", "label": "soft_delete_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L203"}, {"id": "crud_dept_rationale_42", "label": "\u4fdd\u7559\u5339\u914d\u8282\u70b9\u53ca\u5176\u5168\u90e8\u4e0a\u7ea7\uff0c\u4f9b\u5173\u952e\u8bcd\u68c0\u7d22\u540e\u4ecd\u80fd\u6b63\u786e\u7ec4\u6811\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L42"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_build_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_collect_with_ancestors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L39", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_list_depts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L55", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_list_depts_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L76", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_get_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L98", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_create_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L106", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_update_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L149", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_cascade_soft_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L190", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_dept_py", "target": "crud_dept_soft_delete_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L203", "weight": 1.0}, {"source": "crud_dept_list_depts", "target": "crud_dept_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L73", "weight": 1.0}, {"source": "crud_dept_list_depts_tree", "target": "crud_dept_list_depts", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L85", "weight": 1.0}, {"source": "crud_dept_list_depts_tree", "target": "crud_dept_build_tree", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L86", "weight": 1.0}, {"source": "crud_dept_list_depts_tree", "target": "crud_dept_collect_with_ancestors", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L94", "weight": 1.0}, {"source": "crud_dept_update_dept", "target": "crud_dept_get_dept", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L163", "weight": 1.0}, {"source": "crud_dept_soft_delete_dept", "target": "crud_dept_get_dept", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L204", "weight": 1.0}, {"source": "crud_dept_soft_delete_dept", "target": "crud_dept_cascade_soft_delete", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L207", "weight": 1.0}, {"source": "crud_dept_rationale_42", "target": "crud_dept_collect_with_ancestors", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L42", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_dept_row_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L26"}, {"caller_nid": "crud_dept_row_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L27"}, {"caller_nid": "crud_dept_build_tree", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L32"}, {"caller_nid": "crud_dept_build_tree", "callee": "sort", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L35"}, {"caller_nid": "crud_dept_build_tree", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L35"}, {"caller_nid": "crud_dept_collect_with_ancestors", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L43"}, {"caller_nid": "crud_dept_collect_with_ancestors", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L44"}, {"caller_nid": "crud_dept_collect_with_ancestors", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L46"}, {"caller_nid": "crud_dept_collect_with_ancestors", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L50"}, {"caller_nid": "crud_dept_collect_with_ancestors", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L51"}, {"caller_nid": "crud_dept_collect_with_ancestors", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L51"}, {"caller_nid": "crud_dept_list_depts", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L62"}, {"caller_nid": "crud_dept_list_depts", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L62"}, {"caller_nid": "crud_dept_list_depts", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L64"}, {"caller_nid": "crud_dept_list_depts", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L65"}, {"caller_nid": "crud_dept_list_depts", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L68"}, {"caller_nid": "crud_dept_list_depts", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L68"}, {"caller_nid": "crud_dept_list_depts", "callee": "apply_data_scope", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L71"}, {"caller_nid": "crud_dept_list_depts", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L72"}, {"caller_nid": "crud_dept_list_depts", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L72"}, {"caller_nid": "crud_dept_list_depts", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L72"}, {"caller_nid": "crud_dept_list_depts_tree", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L83"}, {"caller_nid": "crud_dept_list_depts_tree", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L93"}, {"caller_nid": "crud_dept_get_dept", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L100"}, {"caller_nid": "crud_dept_get_dept", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L100"}, {"caller_nid": "crud_dept_get_dept", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L100"}, {"caller_nid": "crud_dept_get_dept", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L101"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L121"}, {"caller_nid": "crud_dept_create_dept", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L123"}, {"caller_nid": "crud_dept_create_dept", "callee": "SysDept", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L124"}, {"caller_nid": "crud_dept_create_dept", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L125"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L126"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L128"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L130"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L131"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L132"}, {"caller_nid": "crud_dept_create_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L135"}, {"caller_nid": "crud_dept_create_dept", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L138"}, {"caller_nid": "crud_dept_create_dept", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L140"}, {"caller_nid": "crud_dept_create_dept", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L143"}, {"caller_nid": "crud_dept_create_dept", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L144"}, {"caller_nid": "crud_dept_create_dept", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L145"}, {"caller_nid": "crud_dept_update_dept", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L165"}, {"caller_nid": "crud_dept_update_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L167"}, {"caller_nid": "crud_dept_update_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L169"}, {"caller_nid": "crud_dept_update_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L173"}, {"caller_nid": "crud_dept_update_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L175"}, {"caller_nid": "crud_dept_update_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L177"}, {"caller_nid": "crud_dept_update_dept", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L181"}, {"caller_nid": "crud_dept_update_dept", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L183"}, {"caller_nid": "crud_dept_update_dept", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L184"}, {"caller_nid": "crud_dept_update_dept", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L185"}, {"caller_nid": "crud_dept_update_dept", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L186"}, {"caller_nid": "crud_dept_cascade_soft_delete", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L192"}, {"caller_nid": "crud_dept_cascade_soft_delete", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L192"}, {"caller_nid": "crud_dept_cascade_soft_delete", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L192"}, {"caller_nid": "crud_dept_cascade_soft_delete", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L193"}, {"caller_nid": "crud_dept_cascade_soft_delete", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L199"}, {"caller_nid": "crud_dept_cascade_soft_delete", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L200"}, {"caller_nid": "crud_dept_soft_delete_dept", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L206"}, {"caller_nid": "crud_dept_soft_delete_dept", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L209"}, {"caller_nid": "crud_dept_soft_delete_dept", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L210"}, {"caller_nid": "crud_dept_soft_delete_dept", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/dept.py", "source_location": "L211"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/0e9a73ef6b1d6117187f16aead0da4b5fdb3029572b2b32cdf43d5a3ec600bdd.json b/backend/app/graphify-out/cache/ast/0e9a73ef6b1d6117187f16aead0da4b5fdb3029572b2b32cdf43d5a3ec600bdd.json new file mode 100644 index 00000000..efe9ce78 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/0e9a73ef6b1d6117187f16aead0da4b5fdb3029572b2b32cdf43d5a3ec600bdd.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L180"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L245"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L541"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L662"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L775"}, {"id": "services_oa_engine_rationale_295", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295"}, {"id": "services_oa_engine_rationale_671", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L671"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L180", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L662", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L775", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L162", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L174", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L189", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L200", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L296", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L296", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L329", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L367", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L372", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L473", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L485", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L486", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L533", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L538", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L552", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L578", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L653", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L653", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L654", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L657", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L695", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L772", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L778", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L780", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L788", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L807", "weight": 1.0}, {"source": "services_oa_engine_rationale_295", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295", "weight": 1.0}, {"source": "services_oa_engine_rationale_671", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L671", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L69"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L70"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L71"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L95"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L113"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L163"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L190"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L199"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L202"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L215"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L219"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L220"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L222"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L223"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L240"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L241"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L248"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L251"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L253"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L259"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L265"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L266"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L270"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L271"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L273"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L274"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L314"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L322"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L323"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L326"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L345"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L373"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L384"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L387"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L391"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L406"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L409"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L412"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L413"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L414"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L438"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L439"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L479"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L486"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L500"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L500"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L508"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L508"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L513"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L530"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L579"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L579"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L582"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L590"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L595"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L595"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L595"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L609"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L614"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L618"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L620"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L620"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L620"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L632"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L651"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L658"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L696"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L700"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L702"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L705"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L712"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L712"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L712"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L721"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L739"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L740"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L741"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L753"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L767"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L770"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L771"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L784"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L784"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L784"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L788"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L789"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L796"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L798"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L798"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L798"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L805"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L806"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/12c2defb79e6a7825da37e5332393a9f081eba2c294453e6e7d4d6c3004f012d.json b/backend/app/graphify-out/cache/ast/12c2defb79e6a7825da37e5332393a9f081eba2c294453e6e7d4d6c3004f012d.json new file mode 100644 index 00000000..278507aa --- /dev/null +++ b/backend/app/graphify-out/cache/ast/12c2defb79e6a7825da37e5332393a9f081eba2c294453e6e7d4d6c3004f012d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_flow_node_key_order", "label": "_flow_node_key_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_next_task_order_num", "label": "_next_task_order_num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L91"}, {"id": "services_oa_engine_sort_tasks_for_detail", "label": "_sort_tasks_for_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L102"}, {"id": "services_oa_engine_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"id": "services_oa_engine_terminal_item", "label": "_terminal_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L129"}, {"id": "services_oa_engine_build_progress_items", "label": "build_progress_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L144"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L216"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L225"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L234"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L268"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L276"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L367"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L382"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L390"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L634"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L675"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L745"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L836"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L847"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L897"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L947"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1068"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1183"}, {"id": "services_oa_engine_rationale_67", "label": "\u6309\u6d41\u7a0b\u6811\u5148\u5e8f\u904d\u5386\u4e3a node.id \u5206\u914d\u7a33\u5b9a\u5e8f\u53f7\uff08\u7528\u4e8e\u8be6\u60c5\u65f6\u95f4\u8f74\u6392\u5e8f\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67"}, {"id": "services_oa_engine_rationale_92", "label": "\u540c\u4e00\u5b9e\u4f8b\u5185\u4efb\u52a1\u5c55\u793a\u5e8f\u53f7\u53d6 max+1\uff08\u65e0\u4efb\u52a1\u4ece 1 \u8d77\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L92"}, {"id": "services_oa_engine_rationale_105", "label": "\u8be6\u60c5\u65f6\u95f4\u8f74\uff1a\u6309\u6d41\u7a0b\u6811\u8282\u70b9\u987a\u5e8f\uff0c\u518d order_num / create_time\uff08\u517c\u5bb9\u65e7\u6570\u636e\u540c\u79d2\u521b\u5efa\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L105"}, {"id": "services_oa_engine_rationale_152", "label": "\u6295\u5f71\u5ba1\u6279\u8fdb\u5ea6\u3002P0\uff1asubmit + \u6309\u6811\u5e8f tasks + pending_node + terminal\u3002 P1\uff1a\u63d2\u5165 return/resubmi", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L152"}, {"id": "services_oa_engine_rationale_525", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L525"}, {"id": "services_oa_engine_rationale_684", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684"}, {"id": "services_oa_engine_rationale_1077", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1077"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_node_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_next_task_order_num", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_terminal_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L129", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_build_progress_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L144", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L225", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L234", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L268", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L276", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L367", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L382", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L675", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L745", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L836", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L847", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L897", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L947", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1068", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1183", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_sort_tasks_for_detail", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L106", "weight": 1.0}, {"source": "services_oa_engine_terminal_item", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L137", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L169", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L187", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L189", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L192", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_terminal_item", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L229", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L231", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L243", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L289", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L324", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L326", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L383", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L403", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L476", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L528", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L529", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L547", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L576", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L599", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L604", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L685", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L685", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L701", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L720", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L735", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L759", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L765", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L787", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L823", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L833", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L843", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L848", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L863", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L863", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L866", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L872", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L877", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L880", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L885", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_build_progress_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L887", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L939", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L941", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L944", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L958", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L972", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L984", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1021", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1060", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1063", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1084", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1101", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1129", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1180", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1186", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1188", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1196", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1215", "weight": 1.0}, {"source": "services_oa_engine_rationale_67", "target": "services_oa_engine_flow_node_key_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_rationale_92", "target": "services_oa_engine_next_task_order_num", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L92", "weight": 1.0}, {"source": "services_oa_engine_rationale_105", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L105", "weight": 1.0}, {"source": "services_oa_engine_rationale_152", "target": "services_oa_engine_build_progress_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L152", "weight": 1.0}, {"source": "services_oa_engine_rationale_525", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L525", "weight": 1.0}, {"source": "services_oa_engine_rationale_684", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684", "weight": 1.0}, {"source": "services_oa_engine_rationale_1077", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1077", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_flow_node_key_order", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L87"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L94"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L94"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L94"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L98"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L99"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L106"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L124"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L125"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L132"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L137"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L157"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L163"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L169"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L170"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L170"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L178"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L186"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L188"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L188"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L198"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L210"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L218"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L219"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L220"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L221"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L226"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L245"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L264"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L269"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L269"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L285"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L292"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L309"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L313"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L341"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L341"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L341"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L341"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L345"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L345"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L345"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L346"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L349"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L355"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L363"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L369"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L374"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L374"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L378"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L402"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L406"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L408"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L410"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L418"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L422"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L424"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L426"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L437"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L439"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L441"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L453"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L470"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L470"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L470"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L486"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L497"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L500"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L502"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L510"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L513"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L526"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L530"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L543"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L549"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L586"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L589"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L599"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L601"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L601"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L601"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L602"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L607"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L608"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L610"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L630"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L637"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L639"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L640"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L642"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L646"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L648"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L652"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L654"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L655"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L656"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L659"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L660"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L662"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L663"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L668"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L668"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L701"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L703"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L713"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L714"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L729"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L729"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L732"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L738"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L757"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L761"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L766"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L768"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L777"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L779"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L780"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L781"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L784"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L799"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L805"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L806"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L807"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L831"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L832"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L838"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L838"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L838"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L849"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L851"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L851"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L851"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L868"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L868"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L868"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L878"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L880"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L885"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L886"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L886"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L904"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L906"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L906"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L914"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L914"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L919"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L922"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L922"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L930"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L930"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L930"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L930"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L936"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L943"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L943"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L943"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L956"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L961"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L961"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L961"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L985"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L985"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L988"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L993"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L996"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1001"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1001"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1001"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1015"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1019"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1020"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1024"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1026"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1026"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1026"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1038"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1057"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1064"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1095"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1095"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1095"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1102"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1106"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1108"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1111"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1112"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1118"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1118"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1118"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1127"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1135"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1135"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1135"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1146"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1147"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1148"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1160"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1178"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1192"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1192"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1192"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1196"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1197"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1200"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1204"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1213"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1214"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/182c70d418a13dd1fec82a053be5bf17ae01d059c9d1803868ca06a0c0d372b6.json b/backend/app/graphify-out/cache/ast/182c70d418a13dd1fec82a053be5bf17ae01d059c9d1803868ca06a0c0d372b6.json new file mode 100644 index 00000000..c180c38b --- /dev/null +++ b/backend/app/graphify-out/cache/ast/182c70d418a13dd1fec82a053be5bf17ae01d059c9d1803868ca06a0c0d372b6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "label": "models.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1"}, {"id": "models_models_userrole", "label": "UserRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L10"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "models_models_sysuser", "label": "SysUser", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L22"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "models_models_sysrole", "label": "SysRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L49"}, {"id": "models_models_sysuserrole", "label": "SysUserRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L69"}, {"id": "models_models_sysrolemenu", "label": "SysRoleMenu", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L88"}, {"id": "models_models_sysroledatascopedetail", "label": "SysRoleDataScopeDetail", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L107"}, {"id": "models_models_sysmenu", "label": "SysMenu", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L127"}, {"id": "models_models_sysdept", "label": "SysDept", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L153"}, {"id": "models_models_systenant", "label": "SysTenant", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L177"}, {"id": "models_models_syssite", "label": "SysSite", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L197"}, {"id": "models_models_syspost", "label": "SysPost", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L223"}, {"id": "models_models_sysuserpost", "label": "SysUserPost", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L243"}, {"id": "models_models_bizitemunit", "label": "BizItemUnit", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L262"}, {"id": "models_models_bizexpresscompany", "label": "BizExpressCompany", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L281"}, {"id": "models_models_bizcustomer", "label": "BizCustomer", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L301"}, {"id": "models_models_bizcellsampletype", "label": "BizCellSampleType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L324"}, {"id": "models_models_bizcollectionregion", "label": "BizCollectionRegion", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L347"}, {"id": "models_models_bizcollectionhospital", "label": "BizCollectionHospital", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L365"}, {"id": "models_models_bizcollectionprotocolno", "label": "BizCollectionProtocolNo", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L384"}, {"id": "models_models_bizbiznosequence", "label": "BizBizNoSequence", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L406"}, {"id": "models_models_bizsamplecode", "label": "BizSampleCode", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L426"}, {"id": "models_models_sysdicttype", "label": "SysDictType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L454"}, {"id": "models_models_sysethnic", "label": "SysEthnic", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L473"}, {"id": "models_models_sysdictdata", "label": "SysDictData", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L492"}, {"id": "models_models_sysapirequestlog", "label": "SysApiRequestLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L517"}, {"id": "models_models_sysapirequestloghis", "label": "SysApiRequestLogHis", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L543"}, {"id": "models_models_bizleaverequest", "label": "BizLeaveRequest", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L574"}, {"id": "models_models_wfprocessdef", "label": "WfProcessDef", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L603"}, {"id": "models_models_wfprocessversion", "label": "WfProcessVersion", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L623"}, {"id": "models_models_wfnode", "label": "WfNode", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L644"}, {"id": "models_models_wftransition", "label": "WfTransition", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L666"}, {"id": "models_models_wfprocessinstance", "label": "WfProcessInstance", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L687"}, {"id": "models_models_wftask", "label": "WfTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L711"}, {"id": "models_models_oaappgroup", "label": "OaAppGroup", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L738"}, {"id": "models_models_oaapp", "label": "OaApp", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L756"}, {"id": "models_models_oaappversion", "label": "OaAppVersion", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L782"}, {"id": "models_models_oarole", "label": "OaRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L806"}, {"id": "models_models_oaroleuser", "label": "OaRoleUser", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L827"}, {"id": "models_models_oainstance", "label": "OaInstance", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L846"}, {"id": "models_models_oatask", "label": "OaTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L870"}, {"id": "models_models_oarelation", "label": "OaRelation", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L896"}, {"id": "models_models_bizcollectionprotocol", "label": "BizCollectionProtocol", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L921"}, {"id": "models_models_bizprotocolaudit", "label": "BizProtocolAudit", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L955"}, {"id": "models_models_bizstoragereleasereview", "label": "BizStorageReleaseReview", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L976"}, {"id": "models_models_bizprotocolpayment", "label": "BizProtocolPayment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1009"}, {"id": "models_models_bizprotocolpaymentdetail", "label": "BizProtocolPaymentDetail", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1035"}, {"id": "models_models_bizprotocolinvoicerequest", "label": "BizProtocolInvoiceRequest", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1068"}, {"id": "models_models_bizprotocolinvoicerequestitem", "label": "BizProtocolInvoiceRequestItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1098"}, {"id": "models_models_bizprotocolpartycustomer", "label": "BizProtocolPartyCustomer", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1120"}, {"id": "models_models_bizprotocolcollectioninfo", "label": "BizProtocolCollectionInfo", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1160"}, {"id": "models_models_bizprotocolsample", "label": "BizProtocolSample", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1184"}, {"id": "models_models_bizprotocolsampletransport", "label": "BizProtocolSampleTransport", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1217"}, {"id": "models_models_bizattachment", "label": "BizAttachment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1245"}, {"id": "models_models_bizprotocolstoragecert", "label": "BizProtocolStorageCert", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1269"}, {"id": "models_models_bizsamplereceptioncheckitem", "label": "BizSampleReceptionCheckItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1290"}, {"id": "models_models_bizsamplereceptioncheckresult", "label": "BizSampleReceptionCheckResult", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1310"}, {"id": "models_models_bizsamplereception", "label": "BizSampleReception", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1332"}, {"id": "models_models_bizsampleproductionreception", "label": "BizSampleProductionReception", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1371"}, {"id": "models_models_bizsamplesmsnotification", "label": "BizSampleSmsNotification", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1409"}, {"id": "models_models_bizqcsmsnotification", "label": "BizQcSmsNotification", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1430"}, {"id": "models_models_bizstorageentrysmsnotification", "label": "BizStorageEntrySmsNotification", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1455"}, {"id": "models_models_bizqcthirdpartycompany", "label": "BizQcThirdPartyCompany", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1484"}, {"id": "models_models_bizqcthirdpartyitem", "label": "BizQcThirdPartyItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1512"}, {"id": "models_models_bizqclabtestitem", "label": "BizQcLabTestItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1534"}, {"id": "models_models_bizqcworkorder", "label": "BizQcWorkOrder", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1555"}, {"id": "models_models_bizqcworkorderinspectionbatch", "label": "BizQcWorkOrderInspectionBatch", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1604"}, {"id": "models_models_bizqcbatchassignee", "label": "BizQcBatchAssignee", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1625"}, {"id": "models_models_bizqcworkorderlabitem", "label": "BizQcWorkOrderLabItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1644"}, {"id": "models_models_bizqcworkorderthirditem", "label": "BizQcWorkOrderThirdItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1667"}, {"id": "models_models_bizqctask", "label": "BizQcTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1693"}, {"id": "models_models_bizqctaskassignee", "label": "BizQcTaskAssignee", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1727"}, {"id": "models_models_bizcleanroom", "label": "BizCleanRoom", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1751"}, {"id": "models_models_bizcleanroomaccesslog", "label": "BizCleanRoomAccessLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1774"}, {"id": "models_models_bizcleanroomuvdisinfectlog", "label": "BizCleanRoomUvDisinfectLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1799"}, {"id": "models_models_bizstoragefacility", "label": "BizStorageFacility", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1822"}, {"id": "models_models_bizstoragefacilityslot", "label": "BizStorageFacilitySlot", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1844"}, {"id": "models_models_bizstorageslotoccupancy", "label": "BizStorageSlotOccupancy", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1867"}, {"id": "models_models_bizexhibitionappointment", "label": "BizExhibitionAppointment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1893"}, {"id": "models_models_bizcellproducttype", "label": "BizCellProductType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1921"}, {"id": "models_models_bizcellproductspec", "label": "BizCellProductSpec", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1940"}, {"id": "models_models_bizcellproductprice", "label": "BizCellProductPrice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1959"}, {"id": "models_models_bizcellproductprojectsystem", "label": "BizCellProductProjectSystem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1984"}, {"id": "models_models_bizcellproductprojectsystemitem", "label": "BizCellProductProjectSystemItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2004"}, {"id": "models_models_bizchannel", "label": "BizChannel", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2031"}, {"id": "models_models_bizchannelagreement", "label": "BizChannelAgreement", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2055"}, {"id": "models_models_bizchannelagreementproductprice", "label": "BizChannelAgreementProductPrice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2080"}, {"id": "models_models_bizchannelinvoice", "label": "BizChannelInvoice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2105"}, {"id": "models_models_bizchannelmailaddress", "label": "BizChannelMailAddress", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2129"}, {"id": "models_models_bizchannelaccount", "label": "BizChannelAccount", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2150"}, {"id": "models_models_bizchannelproductquota", "label": "BizChannelProductQuota", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2169"}, {"id": "models_models_bizchannelserviceorder", "label": "BizChannelServiceOrder", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2195"}, {"id": "models_models_bizchannelserviceorderproduct", "label": "BizChannelServiceOrderProduct", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2241"}, {"id": "models_models_bizchannelserviceordertxn", "label": "BizChannelServiceOrderTxn", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2270"}, {"id": "models_models_bizcheckupinstitution", "label": "BizCheckupInstitution", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2305"}, {"id": "models_models_bizcheckupinstitutioninvoice", "label": "BizCheckupInstitutionInvoice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2328"}, {"id": "models_models_bizcheckupinstitutionproject", "label": "BizCheckupInstitutionProject", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2352"}, {"id": "models_models_bizcheckupinstitutionpackage", "label": "BizCheckupInstitutionPackage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2373"}, {"id": "models_models_bizcheckupinstitutionpackageitem", "label": "BizCheckupInstitutionPackageItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2394"}, {"id": "models_models_bizconsumable", "label": "BizConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2420"}, {"id": "models_models_bizreagent", "label": "BizReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2446"}, {"id": "models_models_bizequipment", "label": "BizEquipment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2472"}, {"id": "models_models_bizsopdocument", "label": "BizSopDocument", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2498"}, {"id": "models_models_bizprocesscategory", "label": "BizProcessCategory", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2519"}, {"id": "models_models_bizoutputtype", "label": "BizOutputType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2538"}, {"id": "models_models_bizconsumablepack", "label": "BizConsumablePack", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2557"}, {"id": "models_models_bizconsumablepackitem", "label": "BizConsumablePackItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2579"}, {"id": "models_models_bizprocess", "label": "BizProcess", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2602"}, {"id": "models_models_bizprocessreagent", "label": "BizProcessReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2627"}, {"id": "models_models_bizprocessconsumable", "label": "BizProcessConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2651"}, {"id": "models_models_bizprocessoutput", "label": "BizProcessOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2675"}, {"id": "models_models_bizprocessdatacollection", "label": "BizProcessDataCollection", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2696"}, {"id": "models_models_bizprocessroute", "label": "BizProcessRoute", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2714"}, {"id": "models_models_bizprocessroutestep", "label": "BizProcessRouteStep", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2736"}, {"id": "models_models_bizprocessroutestepreagent", "label": "BizProcessRouteStepReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2764"}, {"id": "models_models_bizprocessroutestepconsumable", "label": "BizProcessRouteStepConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2788"}, {"id": "models_models_bizprocessroutestepoutput", "label": "BizProcessRouteStepOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2812"}, {"id": "models_models_bizprocessroutestepdatacollection", "label": "BizProcessRouteStepDataCollection", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2833"}, {"id": "models_models_bizcellproduct", "label": "BizCellProduct", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2858"}, {"id": "models_models_bizproductionworkorder", "label": "BizProductionWorkOrder", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2893"}, {"id": "models_models_bizproductiontask", "label": "BizProductionTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2923"}, {"id": "models_models_bizproductiontaskhandover", "label": "BizProductionTaskHandover", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2955"}, {"id": "models_models_bizproductiontaskinput", "label": "BizProductionTaskInput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2977"}, {"id": "models_models_bizproductiontaskstep", "label": "BizProductionTaskStep", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2999"}, {"id": "models_models_bizproductiontaskstepassignee", "label": "BizProductionTaskStepAssignee", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3032"}, {"id": "models_models_bizproductiontaskstepreagent", "label": "BizProductionTaskStepReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3051"}, {"id": "models_models_bizproductiontaskstepconsumable", "label": "BizProductionTaskStepConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3077"}, {"id": "models_models_bizproductiontaskstepconfiguredreagent", "label": "BizProductionTaskStepConfiguredReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3103"}, {"id": "models_models_bizproductiontaskstepoutput", "label": "BizProductionTaskStepOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3128"}, {"id": "models_models_bizproductiontaskstepdatacollection", "label": "BizProductionTaskStepDataCollection", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3149"}, {"id": "models_models_bizproductiontaskoutput", "label": "BizProductionTaskOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3170"}, {"id": "models_models_bizprotocolfullmoontodo", "label": "BizProtocolFullmoonTodo", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3195"}, {"id": "models_models_bizinsurancecompany", "label": "BizInsuranceCompany", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3225"}, {"id": "models_models_bizinsurancecompanyinvoice", "label": "BizInsuranceCompanyInvoice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3248"}, {"id": "models_models_bizinsuranceprojectprice", "label": "BizInsuranceProjectPrice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3272"}, {"id": "models_models_bizconsumablestocklog", "label": "BizConsumableStockLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3293"}, {"id": "models_models_bizreagentstocklog", "label": "BizReagentStockLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3323"}, {"id": "models_models_bizpilotapplication", "label": "BizPilotApplication", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3353"}, {"id": "models_models_bizpilotpatient", "label": "BizPilotPatient", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3383"}, {"id": "models_models_bizpilotinfusionplan", "label": "BizPilotInfusionPlan", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3412"}, {"id": "models_models_bizpilotinfusionschedule", "label": "BizPilotInfusionSchedule", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3437"}, {"id": "models_models_bizpilotinfusionscheduleproduct", "label": "BizPilotInfusionScheduleProduct", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3466"}, {"id": "models_models_bizpilotcheckup", "label": "BizPilotCheckup", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3493"}, {"id": "models_models_bizpilotcheckupreserveitem", "label": "BizPilotCheckupReserveItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3522"}, {"id": "models_models_bizpilotcheckupactualitem", "label": "BizPilotCheckupActualItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3542"}, {"id": "models_models_bizpilotdelivery", "label": "BizPilotDelivery", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3562"}, {"id": "models_models_bizpilotdeliverymaterial", "label": "BizPilotDeliveryMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3581"}, {"id": "models_models_bizpilotdeliverymethod", "label": "BizPilotDeliveryMethod", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3602"}, {"id": "models_models_bizpilotinfusionconfirm", "label": "BizPilotInfusionConfirm", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3631"}, {"id": "models_models_bizoutboundreleasematerial", "label": "BizOutboundReleaseMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3652"}, {"id": "models_models_bizoutboundreleasecell", "label": "BizOutboundReleaseCell", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3671"}, {"id": "models_models_bizoutboundreleasepaper", "label": "BizOutboundReleasePaper", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3699"}, {"id": "models_models_bizoutboundhandover", "label": "BizOutboundHandover", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3721"}, {"id": "models_models_bizoutboundreleaseqcmaterial", "label": "BizOutboundReleaseQcMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3746"}, {"id": "models_models_bizoutboundreleasereview", "label": "BizOutboundReleaseReview", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3771"}, {"id": "models_models_bizenvdetectitem", "label": "BizEnvDetectItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3797"}, {"id": "models_models_bizenvdetectrecord", "label": "BizEnvDetectRecord", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3817"}, {"id": "models_models_rationale_1", "label": "\u6570\u636e\u6a21\u578b\uff08\u4e0e docs/sql/zkxw.sql \u5168\u5e93\u5bfc\u51fa\u57fa\u7ebf\u5bf9\u9f50\u7684\u6838\u5fc3\u7cfb\u7edf\u8868\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1"}, {"id": "models_models_rationale_11", "label": "Web \u7ba1\u7406\u7aef\u7ea6\u5b9a\u89d2\u8272\uff08\u7531 sys_role.role_name \u6620\u5c04\u800c\u6765\uff0c\u975e\u6570\u636e\u5e93\u679a\u4e3e\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L11"}, {"id": "models_models_rationale_70", "label": "\u7528\u6237-\u89d2\u8272\u5173\u8054 sys_user_role\uff08V0.3\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L70"}, {"id": "models_models_rationale_89", "label": "\u89d2\u8272-\u83dc\u5355\u5173\u8054 sys_role_menu\uff08V0.3\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L89"}, {"id": "models_models_rationale_108", "label": "\u89d2\u8272\u81ea\u5b9a\u4e49\u6570\u636e\u6743\u9650\u660e\u7ec6 sys_role_data_scope_detail", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L108"}, {"id": "models_models_rationale_178", "label": "\u79df\u6237\u8868 sys_tenant\uff08V0.3 2.1.1\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L178"}, {"id": "models_models_rationale_244", "label": "\u7528\u6237-\u804c\u4f4d\u5173\u8054 sys_user_post", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L244"}, {"id": "models_models_rationale_282", "label": "\u5feb\u9012\u516c\u53f8 biz_express_company", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L282"}, {"id": "models_models_rationale_325", "label": "\u7ec6\u80de\u6837\u672c\u7c7b\u578b biz_cell_sample_type", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L325"}, {"id": "models_models_rationale_348", "label": "\u91c7\u96c6\u5730\u533a biz_collection_region", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L348"}, {"id": "models_models_rationale_366", "label": "\u91c7\u96c6\u5730\u533a\u4e0b\u5c5e\u533b\u9662 biz_collection_hospital", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L366"}, {"id": "models_models_rationale_385", "label": "\u91c7\u96c6\u534f\u8bae\u53f7\u6c60 biz_collection_protocol_no", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L385"}, {"id": "models_models_rationale_407", "label": "\u4e1a\u52a1\u534f\u8bae\u53f7\u65e5\u5e8f\u5217\u8868 biz_biz_no_sequence", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L407"}, {"id": "models_models_rationale_427", "label": "\u6837\u672c\u7f16\u7801\u6c60 biz_sample_code", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L427"}, {"id": "models_models_rationale_474", "label": "\u6c11\u65cf\u7801\u8868 sys_ethnic\uff08\u56fd\u6807 GB/T 3304\uff0c\u5168\u5c40\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L474"}, {"id": "models_models_rationale_575", "label": "\u8bf7\u5047\u7533\u8bf7 biz_leave_request", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L575"}, {"id": "models_models_rationale_624", "label": "\u6d41\u7a0b\u5b9a\u4e49\u7248\u672c wf_process_version", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L624"}, {"id": "models_models_rationale_667", "label": "\u6d41\u7a0b\u8fde\u7ebf/\u8f6c\u79fb wf_transition", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L667"}, {"id": "models_models_rationale_688", "label": "\u6d41\u7a0b\u5b9e\u4f8b wf_process_instance", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L688"}, {"id": "models_models_rationale_783", "label": "OA\u5ba1\u6279\u5e94\u7528\u7248\u672c oa_app_version", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L783"}, {"id": "models_models_rationale_828", "label": "OA\u5de5\u4f5c\u6d41\u89d2\u8272\u6210\u5458 oa_role_user", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L828"}, {"id": "models_models_rationale_922", "label": "\u91c7\u96c6\u534f\u8bae\u5355 biz_collection_protocol", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L922"}, {"id": "models_models_rationale_956", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u5ba1\u6838\u8bb0\u5f55 biz_protocol_audit", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L956"}, {"id": "models_models_rationale_977", "label": "\u5165\u5e93\u653e\u884c\u5ba1\u6838 biz_storage_release_review", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L977"}, {"id": "models_models_rationale_1010", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u7f34\u8d39\u4e3b\u8868 biz_protocol_payment", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1010"}, {"id": "models_models_rationale_1036", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u7f34\u8d39\u660e\u7ec6 biz_protocol_payment_detail", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1036"}, {"id": "models_models_rationale_1069", "label": "\u91c7\u96c6\u534f\u8bae\u5355\u5f00\u7968\u7533\u8bf7\u4e3b\u8868 biz_protocol_invoice_request", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1069"}, {"id": "models_models_rationale_1099", "label": "\u91c7\u96c6\u534f\u8bae\u5355\u5f00\u7968\u7533\u8bf7\u660e\u7ec6 biz_protocol_invoice_request_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1099"}, {"id": "models_models_rationale_1121", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u5f53\u4e8b\u4eba\u5ba2\u6237\u4fe1\u606f biz_protocol_party_customer", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1121"}, {"id": "models_models_rationale_1161", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u91c7\u96c6\u4fe1\u606f biz_protocol_collection_info", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1161"}, {"id": "models_models_rationale_1185", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u6837\u672c\u4fe1\u606f biz_protocol_sample", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1185"}, {"id": "models_models_rationale_1218", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u6837\u672c\u8fd0\u8f93 biz_protocol_sample_transport", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1218"}, {"id": "models_models_rationale_1270", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u50a8\u5b58\u8bc1\u4e66 biz_protocol_storage_cert", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1270"}, {"id": "models_models_rationale_1291", "label": "\u6837\u672c\u63a5\u6536\u68c0\u67e5\u9879\u914d\u7f6e biz_sample_reception_check_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1291"}, {"id": "models_models_rationale_1311", "label": "\u6837\u672c\u63a5\u6536\u68c0\u67e5\u9879\u7ed3\u679c biz_sample_reception_check_result", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1311"}, {"id": "models_models_rationale_1333", "label": "\u6837\u672c\u63a5\u6536 biz_sample_reception", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1333"}, {"id": "models_models_rationale_1372", "label": "\u751f\u4ea7\u90e8\u95e8\u6837\u672c\u63a5\u6536\u767b\u8bb0 biz_sample_production_reception", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1372"}, {"id": "models_models_rationale_1431", "label": "\u6837\u672c\u8d28\u68c0\u77ed\u4fe1\u901a\u77e5 biz_qc_sms_notification", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1431"}, {"id": "models_models_rationale_1456", "label": "\u6837\u672c\u5165\u5e93\u77ed\u4fe1\u901a\u77e5 biz_storage_entry_sms_notification", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1456"}, {"id": "models_models_rationale_1485", "label": "\u7b2c\u4e09\u65b9\u68c0\u6d4b\u516c\u53f8 biz_qc_third_party_company", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1485"}, {"id": "models_models_rationale_1513", "label": "\u7b2c\u4e09\u65b9\u68c0\u6d4b\u9879\u76ee biz_qc_third_party_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1513"}, {"id": "models_models_rationale_1535", "label": "\u5b9e\u9a8c\u5ba4\u81ea\u68c0\u9879\u76ee biz_qc_lab_test_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1535"}, {"id": "models_models_rationale_1556", "label": "\u8d28\u68c0\u5de5\u5355 biz_qc_work_order", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1556"}, {"id": "models_models_rationale_1605", "label": "\u8d28\u68c0\u5de5\u5355\u68c0\u6d4b\u6279\u6b21 biz_qc_work_order_inspection_batch", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1605"}, {"id": "models_models_rationale_1626", "label": "\u8d28\u68c0\u68c0\u6d4b\u6279\u6b21\u8d1f\u8d23\u4eba biz_qc_batch_assignee", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1626"}, {"id": "models_models_rationale_1645", "label": "\u8d28\u68c0\u5de5\u5355-\u5b9e\u9a8c\u5ba4\u9879\u76ee\u660e\u7ec6 biz_qc_work_order_lab_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1645"}, {"id": "models_models_rationale_1668", "label": "\u8d28\u68c0\u5de5\u5355-\u7b2c\u4e09\u65b9\u9879\u76ee\u660e\u7ec6 biz_qc_work_order_third_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1668"}, {"id": "models_models_rationale_1728", "label": "\u8d28\u68c0\u4efb\u52a1\u8d1f\u8d23\u4eba biz_qc_task_assignee", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1728"}, {"id": "models_models_rationale_1775", "label": "\u6d01\u51c0\u5ba4\u51fa\u5165\u8bb0\u5f55 biz_clean_room_access_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1775"}, {"id": "models_models_rationale_1800", "label": "\u6d01\u51c0\u5ba4\u7d2b\u5916\u7ebf\u6d88\u6bd2\u8bb0\u5f55 biz_clean_room_uv_disinfect_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1800"}, {"id": "models_models_rationale_1823", "label": "\u5b58\u50a8\u8bbe\u65bd\u6811 biz_storage_facility", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1823"}, {"id": "models_models_rationale_1845", "label": "\u5b58\u50a8\u8bbe\u65bd\u5c0f\u683c biz_storage_facility_slot", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1845"}, {"id": "models_models_rationale_1868", "label": "\u5e93\u4f4d\u5360\u7528\u8bb0\u5f55 biz_storage_slot_occupancy", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1868"}, {"id": "models_models_rationale_1894", "label": "\u5c55\u9986\u9884\u7ea6 biz_exhibition_appointment", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1894"}, {"id": "models_models_rationale_1922", "label": "\u7ec6\u80de\u4ea7\u54c1\u7c7b\u578b biz_cell_product_type", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1922"}, {"id": "models_models_rationale_1941", "label": "\u7ec6\u80de\u4ea7\u54c1\u89c4\u683c biz_cell_product_spec", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1941"}, {"id": "models_models_rationale_1960", "label": "\u7ec6\u80de\u4ea7\u54c1\u4ef7\u683c\u4f53\u7cfb biz_cell_product_price", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1960"}, {"id": "models_models_rationale_1985", "label": "\u7ec6\u80de\u4ea7\u54c1\u9879\u76ee\u4ef7\u683c\u4f53\u7cfb biz_cell_product_project_system", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1985"}, {"id": "models_models_rationale_2005", "label": "\u9879\u76ee\u4ef7\u683c\u4f53\u7cfb-\u7ec6\u80de\u4ef7\u683c\u660e\u7ec6 biz_cell_product_project_system_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2005"}, {"id": "models_models_rationale_2056", "label": "\u6e20\u9053\u534f\u8bae biz_channel_agreement", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2056"}, {"id": "models_models_rationale_2081", "label": "\u6e20\u9053\u534f\u8bae-\u7ec6\u80de\u4ea7\u54c1\u4ef7\u683c biz_channel_agreement_product_price", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2081"}, {"id": "models_models_rationale_2106", "label": "\u6e20\u9053\u5f00\u7968\u4fe1\u606f biz_channel_invoice", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2106"}, {"id": "models_models_rationale_2130", "label": "\u6e20\u9053\u90ae\u5bc4\u5730\u5740 biz_channel_mail_address", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2130"}, {"id": "models_models_rationale_2151", "label": "\u6e20\u9053\u8d26\u6237\u4f59\u989d biz_channel_account", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2151"}, {"id": "models_models_rationale_2170", "label": "\u6e20\u9053\u4ea7\u54c1\u4efd\u6570\u5e93\u5b58 biz_channel_product_quota", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2170"}, {"id": "models_models_rationale_2196", "label": "\u6e20\u9053\u670d\u52a1\u8ba2\u5355 biz_channel_service_order", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2196"}, {"id": "models_models_rationale_2242", "label": "\u6e20\u9053\u670d\u52a1\u8ba2\u5355\u4ea7\u54c1\u660e\u7ec6 biz_channel_service_order_product", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2242"}, {"id": "models_models_rationale_2271", "label": "\u6e20\u9053\u670d\u52a1\u8ba2\u5355\u6d41\u6c34 biz_channel_service_order_txn", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2271"}, {"id": "models_models_rationale_2306", "label": "\u4f53\u68c0\u673a\u6784 biz_checkup_institution", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2306"}, {"id": "models_models_rationale_2329", "label": "\u4f53\u68c0\u673a\u6784\u5f00\u7968\u4fe1\u606f biz_checkup_institution_invoice", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2329"}, {"id": "models_models_rationale_2353", "label": "\u4f53\u68c0\u673a\u6784\u9879\u76ee\u53ca\u4ef7\u683c biz_checkup_institution_project", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2353"}, {"id": "models_models_rationale_2374", "label": "\u4f53\u68c0\u673a\u6784\u9879\u76ee\u5957\u9910 biz_checkup_institution_package", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2374"}, {"id": "models_models_rationale_2395", "label": "\u4f53\u68c0\u673a\u6784\u9879\u76ee\u5957\u9910\u660e\u7ec6 biz_checkup_institution_package_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2395"}, {"id": "models_models_rationale_2499", "label": "SOP\u6587\u6863 biz_sop_document", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2499"}, {"id": "models_models_rationale_2520", "label": "\u5de5\u5e8f\u5206\u7c7b biz_process_category", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2520"}, {"id": "models_models_rationale_2558", "label": "\u8017\u6750\u5305 biz_consumable_pack", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2558"}, {"id": "models_models_rationale_2580", "label": "\u8017\u6750\u5305\u660e\u7ec6 biz_consumable_pack_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2580"}, {"id": "models_models_rationale_2628", "label": "\u5de5\u827a\u8bd5\u5242 biz_process_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2628"}, {"id": "models_models_rationale_2652", "label": "\u5de5\u827a\u8017\u6750 biz_process_consumable", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2652"}, {"id": "models_models_rationale_2676", "label": "\u5de5\u827a\u4ea7\u51fa\u7269 biz_process_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2676"}, {"id": "models_models_rationale_2715", "label": "\u5de5\u827a\u8def\u7ebf biz_process_route", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2715"}, {"id": "models_models_rationale_2737", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4 biz_process_route_step", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2737"}, {"id": "models_models_rationale_2765", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u8bd5\u5242 biz_process_route_step_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2765"}, {"id": "models_models_rationale_2789", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u8017\u6750 biz_process_route_step_consumable", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2789"}, {"id": "models_models_rationale_2813", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u4ea7\u51fa\u7269 biz_process_route_step_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2813"}, {"id": "models_models_rationale_2834", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u6570\u636e\u91c7\u96c6\u9879 biz_process_route_step_data_collection", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2834"}, {"id": "models_models_rationale_2859", "label": "\u7ec6\u80de\u4ea7\u54c1 biz_cell_product", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2859"}, {"id": "models_models_rationale_2894", "label": "\u751f\u4ea7\u5de5\u5355 biz_production_work_order", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2894"}, {"id": "models_models_rationale_2924", "label": "\u751f\u4ea7\u4efb\u52a1 biz_production_task", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2924"}, {"id": "models_models_rationale_2956", "label": "\u751f\u4ea7\u4efb\u52a1\u8f6c\u53d1\u8bb0\u5f55 biz_production_task_handover", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2956"}, {"id": "models_models_rationale_2978", "label": "\u751f\u4ea7\u4efb\u52a1\u6295\u5165\u7269 biz_production_task_input", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2978"}, {"id": "models_models_rationale_3000", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4 biz_production_task_step", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3000"}, {"id": "models_models_rationale_3033", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u8d1f\u8d23\u4eba biz_production_task_step_assignee", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3033"}, {"id": "models_models_rationale_3052", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u8bd5\u5242 biz_production_task_step_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3052"}, {"id": "models_models_rationale_3078", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u8017\u6750 biz_production_task_step_consumable", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3078"}, {"id": "models_models_rationale_3104", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u914d\u7f6e\u8bd5\u5242 biz_production_task_step_configured_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3104"}, {"id": "models_models_rationale_3129", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u4ea7\u51fa\u7269 biz_production_task_step_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3129"}, {"id": "models_models_rationale_3150", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u6570\u636e\u91c7\u96c6\u9879 biz_production_task_step_data_collection", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3150"}, {"id": "models_models_rationale_3171", "label": "\u751f\u4ea7\u4efb\u52a1\u6700\u7ec8\u4ea7\u51fa biz_production_task_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3171"}, {"id": "models_models_rationale_3196", "label": "\u65b0\u751f\u513f\u6ee1\u6708\u5f85\u529e biz_protocol_fullmoon_todo", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3196"}, {"id": "models_models_rationale_3226", "label": "\u4fdd\u9669\u516c\u53f8 biz_insurance_company", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3226"}, {"id": "models_models_rationale_3249", "label": "\u4fdd\u9669\u516c\u53f8\u5f00\u7968\u4fe1\u606f biz_insurance_company_invoice", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3249"}, {"id": "models_models_rationale_3273", "label": "\u4fdd\u9669\u9669\u79cd\u4ef7\u683c biz_insurance_project_price", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3273"}, {"id": "models_models_rationale_3294", "label": "\u8017\u6750\u53d8\u52a8\u8bb0\u5f55 biz_consumable_stock_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3294"}, {"id": "models_models_rationale_3324", "label": "\u8bd5\u5242\u53d8\u52a8\u8bb0\u5f55 biz_reagent_stock_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3324"}, {"id": "models_models_rationale_3354", "label": "\u6e20\u9053\u4e2d\u8bd5\u670d\u52a1\u7533\u8bf7\u5355 biz_pilot_application", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3354"}, {"id": "models_models_rationale_3384", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u60a3\u8005\u4fe1\u606f biz_pilot_patient", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3384"}, {"id": "models_models_rationale_3413", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u8f93\u6ce8\u65b9\u6848 biz_pilot_infusion_plan", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3413"}, {"id": "models_models_rationale_3438", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u8f93\u6ce8\u8ba1\u5212 biz_pilot_infusion_schedule", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3438"}, {"id": "models_models_rationale_3467", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u8f93\u6ce8\u8ba1\u5212\u7ec6\u80de\u4ea7\u54c1 biz_pilot_infusion_schedule_product", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3467"}, {"id": "models_models_rationale_3494", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4f53\u68c0\u4fe1\u606f biz_pilot_checkup", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3494"}, {"id": "models_models_rationale_3523", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4f53\u68c0\u9884\u7ea6\u9879\u76ee biz_pilot_checkup_reserve_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3523"}, {"id": "models_models_rationale_3543", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4f53\u68c0\u5b9e\u9645\u9879\u76ee biz_pilot_checkup_actual_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3543"}, {"id": "models_models_rationale_3563", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4ea4\u4ed8\u4fe1\u606f biz_pilot_delivery", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3563"}, {"id": "models_models_rationale_3582", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4ea4\u4ed8\u7269\u6599 biz_pilot_delivery_material", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3582"}, {"id": "models_models_rationale_3603", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4ea4\u4ed8\u65b9\u5f0f biz_pilot_delivery_method", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3603"}, {"id": "models_models_rationale_3632", "label": "\u8f93\u6ce8\u8ba1\u5212-\u5e94\u7528\u786e\u8ba4 biz_pilot_infusion_confirm", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3632"}, {"id": "models_models_rationale_3653", "label": "\u51fa\u5e93\u653e\u884c-\u51fa\u5e93\u7269\u6599\u51c6\u5907\u4e3b\u8868 biz_outbound_release_material", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3653"}, {"id": "models_models_rationale_3672", "label": "\u51fa\u5e93\u653e\u884c-\u51fa\u5e93\u7ec6\u80de(\u53f0\u8d26) biz_outbound_release_cell", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3672"}, {"id": "models_models_rationale_3700", "label": "\u51fa\u5e93\u653e\u884c-\u5176\u4ed6\u7eb8\u8d28\u6750\u6599(\u53f0\u8d26) biz_outbound_release_paper", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3700"}, {"id": "models_models_rationale_3722", "label": "\u8f93\u6ce8\u8ba1\u5212-\u51fa\u5e93\u4ea4\u63a5 biz_outbound_handover", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3722"}, {"id": "models_models_rationale_3747", "label": "\u51fa\u5e93\u653e\u884c-\u8d28\u68c0\u7269\u6599(\u53f0\u8d26) biz_outbound_release_qc_material", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3747"}, {"id": "models_models_rationale_3772", "label": "\u51fa\u5e93\u653e\u884c\u5ba1\u6838 biz_outbound_release_review", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3772"}, {"id": "models_models_rationale_3798", "label": "\u73af\u5883\u68c0\u6d4b\u9879 biz_env_detect_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3798"}, {"id": "models_models_rationale_3818", "label": "\u73af\u5883\u68c0\u6d4b\u767b\u8bb0 biz_env_detect_record", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3818"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "enum", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_userrole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L10", "weight": 1.0}, {"source": "models_models_userrole", "target": "str", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L22", "weight": 1.0}, {"source": "models_models_sysuser", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysrole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L49", "weight": 1.0}, {"source": "models_models_sysrole", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysuserrole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L69", "weight": 1.0}, {"source": "models_models_sysuserrole", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysrolemenu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L88", "weight": 1.0}, {"source": "models_models_sysrolemenu", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L88", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysroledatascopedetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L107", "weight": 1.0}, {"source": "models_models_sysroledatascopedetail", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L107", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysmenu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L127", "weight": 1.0}, {"source": "models_models_sysmenu", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L127", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysdept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L153", "weight": 1.0}, {"source": "models_models_sysdept", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L153", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_systenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L177", "weight": 1.0}, {"source": "models_models_systenant", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L177", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_syssite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L197", "weight": 1.0}, {"source": "models_models_syssite", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L197", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_syspost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L223", "weight": 1.0}, {"source": "models_models_syspost", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L223", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysuserpost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L243", "weight": 1.0}, {"source": "models_models_sysuserpost", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L243", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizitemunit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L262", "weight": 1.0}, {"source": "models_models_bizitemunit", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizexpresscompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L281", "weight": 1.0}, {"source": "models_models_bizexpresscompany", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L281", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcustomer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L301", "weight": 1.0}, {"source": "models_models_bizcustomer", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellsampletype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L324", "weight": 1.0}, {"source": "models_models_bizcellsampletype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L324", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionregion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L347", "weight": 1.0}, {"source": "models_models_bizcollectionregion", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionhospital", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L365", "weight": 1.0}, {"source": "models_models_bizcollectionhospital", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L365", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionprotocolno", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L384", "weight": 1.0}, {"source": "models_models_bizcollectionprotocolno", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L384", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizbiznosequence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L406", "weight": 1.0}, {"source": "models_models_bizbiznosequence", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L406", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplecode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L426", "weight": 1.0}, {"source": "models_models_bizsamplecode", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L426", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysdicttype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L454", "weight": 1.0}, {"source": "models_models_sysdicttype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L454", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysethnic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L473", "weight": 1.0}, {"source": "models_models_sysethnic", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L473", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysdictdata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L492", "weight": 1.0}, {"source": "models_models_sysdictdata", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L492", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysapirequestlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L517", "weight": 1.0}, {"source": "models_models_sysapirequestlog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L517", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysapirequestloghis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L543", "weight": 1.0}, {"source": "models_models_sysapirequestloghis", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L543", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizleaverequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L574", "weight": 1.0}, {"source": "models_models_bizleaverequest", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfprocessdef", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L603", "weight": 1.0}, {"source": "models_models_wfprocessdef", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L603", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfprocessversion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L623", "weight": 1.0}, {"source": "models_models_wfprocessversion", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L644", "weight": 1.0}, {"source": "models_models_wfnode", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L644", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wftransition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L666", "weight": 1.0}, {"source": "models_models_wftransition", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L666", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfprocessinstance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L687", "weight": 1.0}, {"source": "models_models_wfprocessinstance", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L687", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wftask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L711", "weight": 1.0}, {"source": "models_models_wftask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L711", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaappgroup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L738", "weight": 1.0}, {"source": "models_models_oaappgroup", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L738", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaapp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L756", "weight": 1.0}, {"source": "models_models_oaapp", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L756", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaappversion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L782", "weight": 1.0}, {"source": "models_models_oaappversion", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L782", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oarole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L806", "weight": 1.0}, {"source": "models_models_oarole", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L806", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaroleuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L827", "weight": 1.0}, {"source": "models_models_oaroleuser", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L827", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oainstance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L846", "weight": 1.0}, {"source": "models_models_oainstance", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L846", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oatask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L870", "weight": 1.0}, {"source": "models_models_oatask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L870", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oarelation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L896", "weight": 1.0}, {"source": "models_models_oarelation", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L896", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L921", "weight": 1.0}, {"source": "models_models_bizcollectionprotocol", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L921", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolaudit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L955", "weight": 1.0}, {"source": "models_models_bizprotocolaudit", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L955", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstoragereleasereview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L976", "weight": 1.0}, {"source": "models_models_bizstoragereleasereview", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L976", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolpayment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1009", "weight": 1.0}, {"source": "models_models_bizprotocolpayment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1009", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolpaymentdetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1035", "weight": 1.0}, {"source": "models_models_bizprotocolpaymentdetail", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1035", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolinvoicerequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1068", "weight": 1.0}, {"source": "models_models_bizprotocolinvoicerequest", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1068", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolinvoicerequestitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1098", "weight": 1.0}, {"source": "models_models_bizprotocolinvoicerequestitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1098", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolpartycustomer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1120", "weight": 1.0}, {"source": "models_models_bizprotocolpartycustomer", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1120", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolcollectioninfo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1160", "weight": 1.0}, {"source": "models_models_bizprotocolcollectioninfo", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolsample", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1184", "weight": 1.0}, {"source": "models_models_bizprotocolsample", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolsampletransport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1217", "weight": 1.0}, {"source": "models_models_bizprotocolsampletransport", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1217", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1245", "weight": 1.0}, {"source": "models_models_bizattachment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolstoragecert", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1269", "weight": 1.0}, {"source": "models_models_bizprotocolstoragecert", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1269", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplereceptioncheckitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1290", "weight": 1.0}, {"source": "models_models_bizsamplereceptioncheckitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1290", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplereceptioncheckresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1310", "weight": 1.0}, {"source": "models_models_bizsamplereceptioncheckresult", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplereception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1332", "weight": 1.0}, {"source": "models_models_bizsamplereception", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1332", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsampleproductionreception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1371", "weight": 1.0}, {"source": "models_models_bizsampleproductionreception", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1371", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplesmsnotification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1409", "weight": 1.0}, {"source": "models_models_bizsamplesmsnotification", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcsmsnotification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1430", "weight": 1.0}, {"source": "models_models_bizqcsmsnotification", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1430", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstorageentrysmsnotification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1455", "weight": 1.0}, {"source": "models_models_bizstorageentrysmsnotification", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcthirdpartycompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1484", "weight": 1.0}, {"source": "models_models_bizqcthirdpartycompany", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1484", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcthirdpartyitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1512", "weight": 1.0}, {"source": "models_models_bizqcthirdpartyitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1512", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqclabtestitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1534", "weight": 1.0}, {"source": "models_models_bizqclabtestitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1534", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1555", "weight": 1.0}, {"source": "models_models_bizqcworkorder", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1555", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorderinspectionbatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1604", "weight": 1.0}, {"source": "models_models_bizqcworkorderinspectionbatch", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1604", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcbatchassignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1625", "weight": 1.0}, {"source": "models_models_bizqcbatchassignee", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1625", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorderlabitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1644", "weight": 1.0}, {"source": "models_models_bizqcworkorderlabitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1644", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorderthirditem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1667", "weight": 1.0}, {"source": "models_models_bizqcworkorderthirditem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1667", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqctask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1693", "weight": 1.0}, {"source": "models_models_bizqctask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1693", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqctaskassignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1727", "weight": 1.0}, {"source": "models_models_bizqctaskassignee", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1727", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcleanroom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1751", "weight": 1.0}, {"source": "models_models_bizcleanroom", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1751", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcleanroomaccesslog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1774", "weight": 1.0}, {"source": "models_models_bizcleanroomaccesslog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1774", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcleanroomuvdisinfectlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1799", "weight": 1.0}, {"source": "models_models_bizcleanroomuvdisinfectlog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1799", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstoragefacility", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1822", "weight": 1.0}, {"source": "models_models_bizstoragefacility", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1822", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstoragefacilityslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1844", "weight": 1.0}, {"source": "models_models_bizstoragefacilityslot", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1844", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstorageslotoccupancy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1867", "weight": 1.0}, {"source": "models_models_bizstorageslotoccupancy", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1867", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizexhibitionappointment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1893", "weight": 1.0}, {"source": "models_models_bizexhibitionappointment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1893", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproducttype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1921", "weight": 1.0}, {"source": "models_models_bizcellproducttype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1921", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1940", "weight": 1.0}, {"source": "models_models_bizcellproductspec", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1940", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductprice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1959", "weight": 1.0}, {"source": "models_models_bizcellproductprice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1959", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductprojectsystem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1984", "weight": 1.0}, {"source": "models_models_bizcellproductprojectsystem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1984", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductprojectsystemitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2004", "weight": 1.0}, {"source": "models_models_bizcellproductprojectsystemitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2004", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2031", "weight": 1.0}, {"source": "models_models_bizchannel", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2031", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelagreement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2055", "weight": 1.0}, {"source": "models_models_bizchannelagreement", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2055", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelagreementproductprice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2080", "weight": 1.0}, {"source": "models_models_bizchannelagreementproductprice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2080", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelinvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2105", "weight": 1.0}, {"source": "models_models_bizchannelinvoice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelmailaddress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2129", "weight": 1.0}, {"source": "models_models_bizchannelmailaddress", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2129", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelaccount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2150", "weight": 1.0}, {"source": "models_models_bizchannelaccount", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2150", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelproductquota", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2169", "weight": 1.0}, {"source": "models_models_bizchannelproductquota", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2169", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelserviceorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2195", "weight": 1.0}, {"source": "models_models_bizchannelserviceorder", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2195", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelserviceorderproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2241", "weight": 1.0}, {"source": "models_models_bizchannelserviceorderproduct", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2241", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelserviceordertxn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2270", "weight": 1.0}, {"source": "models_models_bizchannelserviceordertxn", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2270", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2305", "weight": 1.0}, {"source": "models_models_bizcheckupinstitution", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2305", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutioninvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2328", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutioninvoice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2328", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutionproject", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2352", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutionproject", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2352", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutionpackage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2373", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutionpackage", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2373", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutionpackageitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2394", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutionpackageitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2394", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2420", "weight": 1.0}, {"source": "models_models_bizconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2420", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2446", "weight": 1.0}, {"source": "models_models_bizreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizequipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2472", "weight": 1.0}, {"source": "models_models_bizequipment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2472", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsopdocument", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2498", "weight": 1.0}, {"source": "models_models_bizsopdocument", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocesscategory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2519", "weight": 1.0}, {"source": "models_models_bizprocesscategory", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2519", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutputtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2538", "weight": 1.0}, {"source": "models_models_bizoutputtype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2538", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumablepack", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2557", "weight": 1.0}, {"source": "models_models_bizconsumablepack", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2557", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumablepackitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2579", "weight": 1.0}, {"source": "models_models_bizconsumablepackitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2602", "weight": 1.0}, {"source": "models_models_bizprocess", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2602", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2627", "weight": 1.0}, {"source": "models_models_bizprocessreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2627", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2651", "weight": 1.0}, {"source": "models_models_bizprocessconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2651", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2675", "weight": 1.0}, {"source": "models_models_bizprocessoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2675", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessdatacollection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2696", "weight": 1.0}, {"source": "models_models_bizprocessdatacollection", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2696", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2714", "weight": 1.0}, {"source": "models_models_bizprocessroute", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2714", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2736", "weight": 1.0}, {"source": "models_models_bizprocessroutestep", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2736", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2764", "weight": 1.0}, {"source": "models_models_bizprocessroutestepreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2788", "weight": 1.0}, {"source": "models_models_bizprocessroutestepconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2788", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2812", "weight": 1.0}, {"source": "models_models_bizprocessroutestepoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2812", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepdatacollection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2833", "weight": 1.0}, {"source": "models_models_bizprocessroutestepdatacollection", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2833", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2858", "weight": 1.0}, {"source": "models_models_bizcellproduct", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2858", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductionworkorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2893", "weight": 1.0}, {"source": "models_models_bizproductionworkorder", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2893", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2923", "weight": 1.0}, {"source": "models_models_bizproductiontask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2923", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskhandover", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2955", "weight": 1.0}, {"source": "models_models_bizproductiontaskhandover", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2955", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskinput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2977", "weight": 1.0}, {"source": "models_models_bizproductiontaskinput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2977", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2999", "weight": 1.0}, {"source": "models_models_bizproductiontaskstep", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2999", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepassignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3032", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepassignee", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3032", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3051", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3051", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3077", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3077", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepconfiguredreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3103", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepconfiguredreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3103", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3128", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3128", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepdatacollection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3149", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepdatacollection", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3149", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3170", "weight": 1.0}, {"source": "models_models_bizproductiontaskoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3170", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolfullmoontodo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3195", "weight": 1.0}, {"source": "models_models_bizprotocolfullmoontodo", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3195", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizinsurancecompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3225", "weight": 1.0}, {"source": "models_models_bizinsurancecompany", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3225", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizinsurancecompanyinvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3248", "weight": 1.0}, {"source": "models_models_bizinsurancecompanyinvoice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3248", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizinsuranceprojectprice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3272", "weight": 1.0}, {"source": "models_models_bizinsuranceprojectprice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumablestocklog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3293", "weight": 1.0}, {"source": "models_models_bizconsumablestocklog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3293", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizreagentstocklog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3323", "weight": 1.0}, {"source": "models_models_bizreagentstocklog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3323", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotapplication", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3353", "weight": 1.0}, {"source": "models_models_bizpilotapplication", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3353", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotpatient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3383", "weight": 1.0}, {"source": "models_models_bizpilotpatient", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3383", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3412", "weight": 1.0}, {"source": "models_models_bizpilotinfusionplan", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3412", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionschedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3437", "weight": 1.0}, {"source": "models_models_bizpilotinfusionschedule", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3437", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionscheduleproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3466", "weight": 1.0}, {"source": "models_models_bizpilotinfusionscheduleproduct", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotcheckup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3493", "weight": 1.0}, {"source": "models_models_bizpilotcheckup", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3493", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotcheckupreserveitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3522", "weight": 1.0}, {"source": "models_models_bizpilotcheckupreserveitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3522", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotcheckupactualitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3542", "weight": 1.0}, {"source": "models_models_bizpilotcheckupactualitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3542", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotdelivery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3562", "weight": 1.0}, {"source": "models_models_bizpilotdelivery", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3562", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotdeliverymaterial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3581", "weight": 1.0}, {"source": "models_models_bizpilotdeliverymaterial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3581", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotdeliverymethod", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3602", "weight": 1.0}, {"source": "models_models_bizpilotdeliverymethod", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3602", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionconfirm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3631", "weight": 1.0}, {"source": "models_models_bizpilotinfusionconfirm", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3631", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasematerial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3652", "weight": 1.0}, {"source": "models_models_bizoutboundreleasematerial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3652", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasecell", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3671", "weight": 1.0}, {"source": "models_models_bizoutboundreleasecell", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3671", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasepaper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3699", "weight": 1.0}, {"source": "models_models_bizoutboundreleasepaper", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3699", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundhandover", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3721", "weight": 1.0}, {"source": "models_models_bizoutboundhandover", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3721", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleaseqcmaterial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3746", "weight": 1.0}, {"source": "models_models_bizoutboundreleaseqcmaterial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3746", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasereview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3771", "weight": 1.0}, {"source": "models_models_bizoutboundreleasereview", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3771", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizenvdetectitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3797", "weight": 1.0}, {"source": "models_models_bizenvdetectitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3797", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizenvdetectrecord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3817", "weight": 1.0}, {"source": "models_models_bizenvdetectrecord", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3817", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_qc_param", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3844", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_qc_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3845", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_production_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3846", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3854", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_clinical_payment", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3863", "weight": 1.0}, {"source": "models_models_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1", "weight": 1.0}, {"source": "models_models_rationale_11", "target": "models_models_userrole", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L11", "weight": 1.0}, {"source": "models_models_rationale_70", "target": "models_models_sysuserrole", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L70", "weight": 1.0}, {"source": "models_models_rationale_89", "target": "models_models_sysrolemenu", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L89", "weight": 1.0}, {"source": "models_models_rationale_108", "target": "models_models_sysroledatascopedetail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L108", "weight": 1.0}, {"source": "models_models_rationale_178", "target": "models_models_systenant", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L178", "weight": 1.0}, {"source": "models_models_rationale_244", "target": "models_models_sysuserpost", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L244", "weight": 1.0}, {"source": "models_models_rationale_282", "target": "models_models_bizexpresscompany", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L282", "weight": 1.0}, {"source": "models_models_rationale_325", "target": "models_models_bizcellsampletype", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L325", "weight": 1.0}, {"source": "models_models_rationale_348", "target": "models_models_bizcollectionregion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L348", "weight": 1.0}, {"source": "models_models_rationale_366", "target": "models_models_bizcollectionhospital", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L366", "weight": 1.0}, {"source": "models_models_rationale_385", "target": "models_models_bizcollectionprotocolno", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L385", "weight": 1.0}, {"source": "models_models_rationale_407", "target": "models_models_bizbiznosequence", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L407", "weight": 1.0}, {"source": "models_models_rationale_427", "target": "models_models_bizsamplecode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L427", "weight": 1.0}, {"source": "models_models_rationale_474", "target": "models_models_sysethnic", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L474", "weight": 1.0}, {"source": "models_models_rationale_575", "target": "models_models_bizleaverequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L575", "weight": 1.0}, {"source": "models_models_rationale_624", "target": "models_models_wfprocessversion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L624", "weight": 1.0}, {"source": "models_models_rationale_667", "target": "models_models_wftransition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L667", "weight": 1.0}, {"source": "models_models_rationale_688", "target": "models_models_wfprocessinstance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L688", "weight": 1.0}, {"source": "models_models_rationale_783", "target": "models_models_oaappversion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L783", "weight": 1.0}, {"source": "models_models_rationale_828", "target": "models_models_oaroleuser", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L828", "weight": 1.0}, {"source": "models_models_rationale_922", "target": "models_models_bizcollectionprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L922", "weight": 1.0}, {"source": "models_models_rationale_956", "target": "models_models_bizprotocolaudit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L956", "weight": 1.0}, {"source": "models_models_rationale_977", "target": "models_models_bizstoragereleasereview", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L977", "weight": 1.0}, {"source": "models_models_rationale_1010", "target": "models_models_bizprotocolpayment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1010", "weight": 1.0}, {"source": "models_models_rationale_1036", "target": "models_models_bizprotocolpaymentdetail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1036", "weight": 1.0}, {"source": "models_models_rationale_1069", "target": "models_models_bizprotocolinvoicerequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1069", "weight": 1.0}, {"source": "models_models_rationale_1099", "target": "models_models_bizprotocolinvoicerequestitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1099", "weight": 1.0}, {"source": "models_models_rationale_1121", "target": "models_models_bizprotocolpartycustomer", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1121", "weight": 1.0}, {"source": "models_models_rationale_1161", "target": "models_models_bizprotocolcollectioninfo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1161", "weight": 1.0}, {"source": "models_models_rationale_1185", "target": "models_models_bizprotocolsample", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1185", "weight": 1.0}, {"source": "models_models_rationale_1218", "target": "models_models_bizprotocolsampletransport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1218", "weight": 1.0}, {"source": "models_models_rationale_1270", "target": "models_models_bizprotocolstoragecert", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1270", "weight": 1.0}, {"source": "models_models_rationale_1291", "target": "models_models_bizsamplereceptioncheckitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1291", "weight": 1.0}, {"source": "models_models_rationale_1311", "target": "models_models_bizsamplereceptioncheckresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1311", "weight": 1.0}, {"source": "models_models_rationale_1333", "target": "models_models_bizsamplereception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1333", "weight": 1.0}, {"source": "models_models_rationale_1372", "target": "models_models_bizsampleproductionreception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1372", "weight": 1.0}, {"source": "models_models_rationale_1431", "target": "models_models_bizqcsmsnotification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1431", "weight": 1.0}, {"source": "models_models_rationale_1456", "target": "models_models_bizstorageentrysmsnotification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1456", "weight": 1.0}, {"source": "models_models_rationale_1485", "target": "models_models_bizqcthirdpartycompany", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1485", "weight": 1.0}, {"source": "models_models_rationale_1513", "target": "models_models_bizqcthirdpartyitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1513", "weight": 1.0}, {"source": "models_models_rationale_1535", "target": "models_models_bizqclabtestitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1535", "weight": 1.0}, {"source": "models_models_rationale_1556", "target": "models_models_bizqcworkorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1556", "weight": 1.0}, {"source": "models_models_rationale_1605", "target": "models_models_bizqcworkorderinspectionbatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1605", "weight": 1.0}, {"source": "models_models_rationale_1626", "target": "models_models_bizqcbatchassignee", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1626", "weight": 1.0}, {"source": "models_models_rationale_1645", "target": "models_models_bizqcworkorderlabitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1645", "weight": 1.0}, {"source": "models_models_rationale_1668", "target": "models_models_bizqcworkorderthirditem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1668", "weight": 1.0}, {"source": "models_models_rationale_1728", "target": "models_models_bizqctaskassignee", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1728", "weight": 1.0}, {"source": "models_models_rationale_1775", "target": "models_models_bizcleanroomaccesslog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1775", "weight": 1.0}, {"source": "models_models_rationale_1800", "target": "models_models_bizcleanroomuvdisinfectlog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1800", "weight": 1.0}, {"source": "models_models_rationale_1823", "target": "models_models_bizstoragefacility", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1823", "weight": 1.0}, {"source": "models_models_rationale_1845", "target": "models_models_bizstoragefacilityslot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1845", "weight": 1.0}, {"source": "models_models_rationale_1868", "target": "models_models_bizstorageslotoccupancy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1868", "weight": 1.0}, {"source": "models_models_rationale_1894", "target": "models_models_bizexhibitionappointment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1894", "weight": 1.0}, {"source": "models_models_rationale_1922", "target": "models_models_bizcellproducttype", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1922", "weight": 1.0}, {"source": "models_models_rationale_1941", "target": "models_models_bizcellproductspec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1941", "weight": 1.0}, {"source": "models_models_rationale_1960", "target": "models_models_bizcellproductprice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1960", "weight": 1.0}, {"source": "models_models_rationale_1985", "target": "models_models_bizcellproductprojectsystem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1985", "weight": 1.0}, {"source": "models_models_rationale_2005", "target": "models_models_bizcellproductprojectsystemitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2005", "weight": 1.0}, {"source": "models_models_rationale_2056", "target": "models_models_bizchannelagreement", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2056", "weight": 1.0}, {"source": "models_models_rationale_2081", "target": "models_models_bizchannelagreementproductprice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2081", "weight": 1.0}, {"source": "models_models_rationale_2106", "target": "models_models_bizchannelinvoice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2106", "weight": 1.0}, {"source": "models_models_rationale_2130", "target": "models_models_bizchannelmailaddress", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2130", "weight": 1.0}, {"source": "models_models_rationale_2151", "target": "models_models_bizchannelaccount", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2151", "weight": 1.0}, {"source": "models_models_rationale_2170", "target": "models_models_bizchannelproductquota", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2170", "weight": 1.0}, {"source": "models_models_rationale_2196", "target": "models_models_bizchannelserviceorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2196", "weight": 1.0}, {"source": "models_models_rationale_2242", "target": "models_models_bizchannelserviceorderproduct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2242", "weight": 1.0}, {"source": "models_models_rationale_2271", "target": "models_models_bizchannelserviceordertxn", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2271", "weight": 1.0}, {"source": "models_models_rationale_2306", "target": "models_models_bizcheckupinstitution", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2306", "weight": 1.0}, {"source": "models_models_rationale_2329", "target": "models_models_bizcheckupinstitutioninvoice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2329", "weight": 1.0}, {"source": "models_models_rationale_2353", "target": "models_models_bizcheckupinstitutionproject", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2353", "weight": 1.0}, {"source": "models_models_rationale_2374", "target": "models_models_bizcheckupinstitutionpackage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2374", "weight": 1.0}, {"source": "models_models_rationale_2395", "target": "models_models_bizcheckupinstitutionpackageitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2395", "weight": 1.0}, {"source": "models_models_rationale_2499", "target": "models_models_bizsopdocument", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2499", "weight": 1.0}, {"source": "models_models_rationale_2520", "target": "models_models_bizprocesscategory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2520", "weight": 1.0}, {"source": "models_models_rationale_2558", "target": "models_models_bizconsumablepack", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2558", "weight": 1.0}, {"source": "models_models_rationale_2580", "target": "models_models_bizconsumablepackitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2580", "weight": 1.0}, {"source": "models_models_rationale_2628", "target": "models_models_bizprocessreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2628", "weight": 1.0}, {"source": "models_models_rationale_2652", "target": "models_models_bizprocessconsumable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2652", "weight": 1.0}, {"source": "models_models_rationale_2676", "target": "models_models_bizprocessoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2676", "weight": 1.0}, {"source": "models_models_rationale_2715", "target": "models_models_bizprocessroute", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2715", "weight": 1.0}, {"source": "models_models_rationale_2737", "target": "models_models_bizprocessroutestep", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2737", "weight": 1.0}, {"source": "models_models_rationale_2765", "target": "models_models_bizprocessroutestepreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2765", "weight": 1.0}, {"source": "models_models_rationale_2789", "target": "models_models_bizprocessroutestepconsumable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2789", "weight": 1.0}, {"source": "models_models_rationale_2813", "target": "models_models_bizprocessroutestepoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2813", "weight": 1.0}, {"source": "models_models_rationale_2834", "target": "models_models_bizprocessroutestepdatacollection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2834", "weight": 1.0}, {"source": "models_models_rationale_2859", "target": "models_models_bizcellproduct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2859", "weight": 1.0}, {"source": "models_models_rationale_2894", "target": "models_models_bizproductionworkorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2894", "weight": 1.0}, {"source": "models_models_rationale_2924", "target": "models_models_bizproductiontask", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2924", "weight": 1.0}, {"source": "models_models_rationale_2956", "target": "models_models_bizproductiontaskhandover", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2956", "weight": 1.0}, {"source": "models_models_rationale_2978", "target": "models_models_bizproductiontaskinput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2978", "weight": 1.0}, {"source": "models_models_rationale_3000", "target": "models_models_bizproductiontaskstep", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3000", "weight": 1.0}, {"source": "models_models_rationale_3033", "target": "models_models_bizproductiontaskstepassignee", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3033", "weight": 1.0}, {"source": "models_models_rationale_3052", "target": "models_models_bizproductiontaskstepreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3052", "weight": 1.0}, {"source": "models_models_rationale_3078", "target": "models_models_bizproductiontaskstepconsumable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3078", "weight": 1.0}, {"source": "models_models_rationale_3104", "target": "models_models_bizproductiontaskstepconfiguredreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3104", "weight": 1.0}, {"source": "models_models_rationale_3129", "target": "models_models_bizproductiontaskstepoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3129", "weight": 1.0}, {"source": "models_models_rationale_3150", "target": "models_models_bizproductiontaskstepdatacollection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3150", "weight": 1.0}, {"source": "models_models_rationale_3171", "target": "models_models_bizproductiontaskoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3171", "weight": 1.0}, {"source": "models_models_rationale_3196", "target": "models_models_bizprotocolfullmoontodo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3196", "weight": 1.0}, {"source": "models_models_rationale_3226", "target": "models_models_bizinsurancecompany", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3226", "weight": 1.0}, {"source": "models_models_rationale_3249", "target": "models_models_bizinsurancecompanyinvoice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3249", "weight": 1.0}, {"source": "models_models_rationale_3273", "target": "models_models_bizinsuranceprojectprice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3273", "weight": 1.0}, {"source": "models_models_rationale_3294", "target": "models_models_bizconsumablestocklog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3294", "weight": 1.0}, {"source": "models_models_rationale_3324", "target": "models_models_bizreagentstocklog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3324", "weight": 1.0}, {"source": "models_models_rationale_3354", "target": "models_models_bizpilotapplication", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3354", "weight": 1.0}, {"source": "models_models_rationale_3384", "target": "models_models_bizpilotpatient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3384", "weight": 1.0}, {"source": "models_models_rationale_3413", "target": "models_models_bizpilotinfusionplan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3413", "weight": 1.0}, {"source": "models_models_rationale_3438", "target": "models_models_bizpilotinfusionschedule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3438", "weight": 1.0}, {"source": "models_models_rationale_3467", "target": "models_models_bizpilotinfusionscheduleproduct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3467", "weight": 1.0}, {"source": "models_models_rationale_3494", "target": "models_models_bizpilotcheckup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3494", "weight": 1.0}, {"source": "models_models_rationale_3523", "target": "models_models_bizpilotcheckupreserveitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3523", "weight": 1.0}, {"source": "models_models_rationale_3543", "target": "models_models_bizpilotcheckupactualitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3543", "weight": 1.0}, {"source": "models_models_rationale_3563", "target": "models_models_bizpilotdelivery", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3563", "weight": 1.0}, {"source": "models_models_rationale_3582", "target": "models_models_bizpilotdeliverymaterial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3582", "weight": 1.0}, {"source": "models_models_rationale_3603", "target": "models_models_bizpilotdeliverymethod", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3603", "weight": 1.0}, {"source": "models_models_rationale_3632", "target": "models_models_bizpilotinfusionconfirm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3632", "weight": 1.0}, {"source": "models_models_rationale_3653", "target": "models_models_bizoutboundreleasematerial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3653", "weight": 1.0}, {"source": "models_models_rationale_3672", "target": "models_models_bizoutboundreleasecell", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3672", "weight": 1.0}, {"source": "models_models_rationale_3700", "target": "models_models_bizoutboundreleasepaper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3700", "weight": 1.0}, {"source": "models_models_rationale_3722", "target": "models_models_bizoutboundhandover", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3722", "weight": 1.0}, {"source": "models_models_rationale_3747", "target": "models_models_bizoutboundreleaseqcmaterial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3747", "weight": 1.0}, {"source": "models_models_rationale_3772", "target": "models_models_bizoutboundreleasereview", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3772", "weight": 1.0}, {"source": "models_models_rationale_3798", "target": "models_models_bizenvdetectitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3798", "weight": 1.0}, {"source": "models_models_rationale_3818", "target": "models_models_bizenvdetectrecord", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3818", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/1a23bcb2e3f5f26ff675fca0189fd1298f6d140b09e6080fd58b55f71bcb6297.json b/backend/app/graphify-out/cache/ast/1a23bcb2e3f5f26ff675fca0189fd1298f6d140b09e6080fd58b55f71bcb6297.json new file mode 100644 index 00000000..403304db --- /dev/null +++ b/backend/app/graphify-out/cache/ast/1a23bcb2e3f5f26ff675fca0189fd1298f6d140b09e6080fd58b55f71bcb6297.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L117"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L236"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L277"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L343"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L434"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L473"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L523"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751"}, {"id": "services_oa_engine_rationale_286", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286"}, {"id": "services_oa_engine_rationale_647", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L647"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L236", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L434", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L473", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L523", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L152", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L153", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L165", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L167", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L180", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L191", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L357", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L358", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L363", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L421", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L441", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L446", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L464", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L467", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L468", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L517", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L520", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L534", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L560", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L593", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L630", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L633", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L654", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L660", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L671", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L748", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L754", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L764", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L783", "weight": 1.0}, {"source": "services_oa_engine_rationale_286", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286", "weight": 1.0}, {"source": "services_oa_engine_rationale_647", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L647", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L69"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L70"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L71"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L95"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L112"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L113"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L133"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L150"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L190"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L193"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L206"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L210"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L213"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L231"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L239"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L241"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L242"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L244"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L248"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L254"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L256"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L258"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L261"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L262"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L264"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L265"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L270"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L270"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L305"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L313"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L314"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L317"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L330"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L336"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L355"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L359"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L377"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L378"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L379"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L382"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L400"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L403"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L404"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L447"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L468"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L480"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L482"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L482"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L490"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L490"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L495"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L512"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L519"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L519"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L519"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L532"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L564"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L565"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L569"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L574"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L574"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L574"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L591"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L592"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L596"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L598"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L598"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L598"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L609"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L634"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L649"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L649"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L649"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L672"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L676"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L681"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L682"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L688"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L688"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L688"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L697"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L704"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L704"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L704"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L715"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L716"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L729"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L743"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L746"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L747"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L764"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L765"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L768"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L772"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L781"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L782"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/2b82abe13ff0cd8326315ca4617689ed900bd1abd1c70f21d23376ec12194d80.json b/backend/app/graphify-out/cache/ast/2b82abe13ff0cd8326315ca4617689ed900bd1abd1c70f21d23376ec12194d80.json new file mode 100644 index 00000000..722b65ce --- /dev/null +++ b/backend/app/graphify-out/cache/ast/2b82abe13ff0cd8326315ca4617689ed900bd1abd1c70f21d23376ec12194d80.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57"}, {"id": "services_oa_engine_flow_node_key_order", "label": "_flow_node_key_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_next_task_order_num", "label": "_next_task_order_num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_sort_tasks_for_detail", "label": "_sort_tasks_for_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111"}, {"id": "services_oa_engine_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131"}, {"id": "services_oa_engine_terminal_item", "label": "_terminal_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139"}, {"id": "services_oa_engine_task_round", "label": "_task_round()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154"}, {"id": "services_oa_engine_append_pending_nodes", "label": "_append_pending_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164"}, {"id": "services_oa_engine_build_progress_items", "label": "build_progress_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"id": "services_oa_engine_add_instance_event", "label": "_add_instance_event()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L302"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L338"}, {"id": "services_oa_engine_instance_progress_summary", "label": "_instance_progress_summary()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"id": "services_oa_engine_enrich_list_rows", "label": "_enrich_list_rows()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L479"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L509"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L570"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L585"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L593"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L719"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L769"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L838"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L879"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L949"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1053"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1064"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1128"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1192"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1313"}, {"id": "services_oa_engine_return_task", "label": "return_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1429"}, {"id": "services_oa_engine_resubmit_instance", "label": "resubmit_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1510"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1524"}, {"id": "services_oa_engine_rationale_76", "label": "\u6309\u6d41\u7a0b\u6811\u5148\u5e8f\u904d\u5386\u4e3a node.id \u5206\u914d\u7a33\u5b9a\u5e8f\u53f7\uff08\u7528\u4e8e\u8be6\u60c5\u65f6\u95f4\u8f74\u6392\u5e8f\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"id": "services_oa_engine_rationale_101", "label": "\u540c\u4e00\u5b9e\u4f8b\u5185\u4efb\u52a1\u5c55\u793a\u5e8f\u53f7\u53d6 max+1\uff08\u65e0\u4efb\u52a1\u4ece 1 \u8d77\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101"}, {"id": "services_oa_engine_rationale_114", "label": "\u8be6\u60c5\u65f6\u95f4\u8f74\uff1a\u6309\u6d41\u7a0b\u6811\u8282\u70b9\u987a\u5e8f\uff0c\u518d order_num / create_time\uff08\u517c\u5bb9\u65e7\u6570\u636e\u540c\u79d2\u521b\u5efa\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"id": "services_oa_engine_rationale_203", "label": "\u6295\u5f71\u5ba1\u6279\u8fdb\u5ea6\uff1a\u53d1\u8d77\u4eba \u2192 \u6811\u5e8f tasks \u2192 \u672a\u5230\u8fbe\uff1b\u7ec8\u6001\u6536\u5c3e\u3002 \u9489\u9489\u5bf9\u9f50\uff1a\u6253\u56de\u7ed3\u679c\u843d\u5728\u5ba1\u6279\u4efb\u52a1\u8282\u70b9\u4e0a\uff0c\u4e0d\u53e6\u63d2 kind=return\uff1b\u4e0d\u505a\u540c\u5355\u591a\u8f6e", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203"}, {"id": "services_oa_engine_rationale_728", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728"}, {"id": "services_oa_engine_rationale_888", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L888"}, {"id": "services_oa_engine_rationale_1322", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1322"}, {"id": "services_oa_engine_rationale_1437", "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u672c\u5355\u7ec8\u6001 returned\uff1b\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1437"}, {"id": "services_oa_engine_rationale_1519", "label": "\u5df2\u5e9f\u5f03\uff1a\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1519"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_node_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_next_task_order_num", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_terminal_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_round", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_append_pending_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_build_progress_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_instance_event", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L302", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L338", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_progress_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_enrich_list_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L479", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L509", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L585", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L593", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L719", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L838", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L879", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L949", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1053", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1064", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1128", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1192", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1313", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_return_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1429", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_resubmit_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1510", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1524", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51", "weight": 1.0}, {"source": "services_oa_engine_sort_tasks_for_detail", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115", "weight": 1.0}, {"source": "services_oa_engine_terminal_item", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_append_pending_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L252", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_terminal_item", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L315", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L329", "weight": 1.0}, {"source": "services_oa_engine_enrich_list_rows", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449", "weight": 1.0}, {"source": "services_oa_engine_enrich_list_rows", "target": "services_oa_engine_instance_progress_summary", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L492", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L514", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L527", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L529", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L574", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L586", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L606", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L608", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L679", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L731", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L732", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L750", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L762", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L779", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L790", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L807", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L889", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L889", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L905", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L910", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L924", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L939", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L966", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L967", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L972", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L995", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1033", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1040", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1050", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1060", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1065", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1080", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1080", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1083", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1089", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1094", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1097", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1102", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_build_progress_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1115", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1170", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_enrich_list_rows", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1171", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1173", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1176", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1203", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1217", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1229", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1266", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1304", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1304", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1305", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1308", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1329", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1335", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1346", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1374", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1426", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1444", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1450", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1461", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1496", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1507", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1521", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1527", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1529", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1537", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1555", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1563", "weight": 1.0}, {"source": "services_oa_engine_rationale_76", "target": "services_oa_engine_flow_node_key_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76", "weight": 1.0}, {"source": "services_oa_engine_rationale_101", "target": "services_oa_engine_next_task_order_num", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_engine_rationale_114", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114", "weight": 1.0}, {"source": "services_oa_engine_rationale_203", "target": "services_oa_engine_build_progress_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_engine_rationale_728", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728", "weight": 1.0}, {"source": "services_oa_engine_rationale_888", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L888", "weight": 1.0}, {"source": "services_oa_engine_rationale_1322", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1322", "weight": 1.0}, {"source": "services_oa_engine_rationale_1437", "target": "services_oa_engine_return_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1437", "weight": 1.0}, {"source": "services_oa_engine_rationale_1519", "target": "services_oa_engine_resubmit_instance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1519", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L50"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L60"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L62"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L63"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_flow_node_key_order", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L107"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L108"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L134"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L136"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"caller_nid": "services_oa_engine_task_round", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L155"}, {"caller_nid": "services_oa_engine_task_round", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L179"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L207"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L213"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L235"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L242"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L251"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L259"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L261"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "OaInstanceEvent", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L298"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L304"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L305"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L307"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L334"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L351"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L372"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L374"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L378"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L381"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L383"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L384"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L387"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L387"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L389"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L391"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L415"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L423"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "keys", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L423"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L433"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L448"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L453"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L453"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L461"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L462"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L466"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L467"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L472"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L472"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L475"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L475"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L475"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L475"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L483"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L483"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L488"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L495"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L512"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L544"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L544"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L544"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L544"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L545"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L545"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L545"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L545"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L545"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L549"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L552"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L572"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L578"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L578"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L581"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L589"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L589"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L605"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L609"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L621"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L625"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L640"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L642"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L644"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L646"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L646"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L648"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L656"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L657"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L668"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L672"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L674"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L674"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L674"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L700"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L701"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L703"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L705"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L713"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L716"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L729"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L733"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L738"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L738"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L738"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L746"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L753"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L780"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L789"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L804"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L804"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L804"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L805"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L810"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L811"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L813"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L814"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L821"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L821"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L833"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L834"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L841"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L843"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L844"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L846"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L850"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L852"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L858"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L859"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L860"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L863"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L864"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L866"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L867"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L872"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L872"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L905"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L907"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L917"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L918"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L921"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L933"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L933"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L936"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L942"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L964"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L968"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L973"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L975"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L980"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L980"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L980"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L984"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L986"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L987"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L988"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1009"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1012"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1015"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1016"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1017"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1048"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1049"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1055"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1055"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1055"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1066"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1068"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1068"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1068"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1073"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1073"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1073"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1085"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1085"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1085"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1095"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1097"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1102"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1105"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1105"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1107"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1107"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1107"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1107"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1109"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1114"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1135"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1137"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1137"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1145"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1145"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1150"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1153"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1153"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1167"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1177"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1183"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1201"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1222"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1222"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1222"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1230"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1230"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1233"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1234"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1238"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1241"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1246"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1246"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1246"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1260"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1264"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1265"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1269"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1271"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1271"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1271"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1283"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1289"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1289"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1289"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1302"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1309"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1324"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1324"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1324"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1340"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1340"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1340"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1347"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1351"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1353"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1356"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1357"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1363"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1363"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1363"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1372"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1380"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1380"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1380"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1391"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1392"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1393"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1403"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1403"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1403"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1406"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1421"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1424"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1425"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1439"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1439"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1439"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1455"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1455"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1455"}, {"caller_nid": "services_oa_engine_return_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1462"}, {"caller_nid": "services_oa_engine_return_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1465"}, {"caller_nid": "services_oa_engine_return_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1469"}, {"caller_nid": "services_oa_engine_return_task", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1470"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1470"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1470"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1475"}, {"caller_nid": "services_oa_engine_return_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1478"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1478"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1478"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1490"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1495"}, {"caller_nid": "services_oa_engine_return_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1506"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1533"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1533"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1533"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1537"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1538"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1541"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1545"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1547"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1547"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1547"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1554"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1560"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1560"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1562"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/3398627a33b672c2e3f0aac66faf2e9b8de4ddb671009577fa3875b01d793ab9.json b/backend/app/graphify-out/cache/ast/3398627a33b672c2e3f0aac66faf2e9b8de4ddb671009577fa3875b01d793ab9.json new file mode 100644 index 00000000..7e8fe49f --- /dev/null +++ b/backend/app/graphify-out/cache/ast/3398627a33b672c2e3f0aac66faf2e9b8de4ddb671009577fa3875b01d793ab9.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_menu_py", "label": "menu.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L1"}, {"id": "api_menu_get_menu_list", "label": "get_menu_list()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L1023"}, {"id": "api_menu_rationale_1", "label": "\u8fd0\u8425\u7aef\u83dc\u5355\u63a5\u53e3\uff08\u4e0e web-admin \u524d\u7aef\u9759\u6001\u8def\u7531 sqxp.ts \u5bf9\u9f50\uff0c5 \u4e2a\u4e00\u7ea7\u83dc\u5355\u5206\u7ec4\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_menu_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_menu_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_menu_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_menu_py", "target": "api_menu_get_menu_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L1023", "weight": 1.0}, {"source": "api_menu_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_api_menu_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_menu_get_menu_list", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/menu.py", "source_location": "L1025"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/377028ec20d4e5f13d3f0de5be1c1127fd3e8c100f4fc1d293c5168ade3f9a6d.json b/backend/app/graphify-out/cache/ast/377028ec20d4e5f13d3f0de5be1c1127fd3e8c100f4fc1d293c5168ade3f9a6d.json new file mode 100644 index 00000000..3e7d5b8e --- /dev/null +++ b/backend/app/graphify-out/cache/ast/377028ec20d4e5f13d3f0de5be1c1127fd3e8c100f4fc1d293c5168ade3f9a6d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "label": "models.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1"}, {"id": "models_models_userrole", "label": "UserRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L10"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "models_models_sysuser", "label": "SysUser", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L22"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "models_models_sysrole", "label": "SysRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L49"}, {"id": "models_models_sysuserrole", "label": "SysUserRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L69"}, {"id": "models_models_sysrolemenu", "label": "SysRoleMenu", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L88"}, {"id": "models_models_sysroledatascopedetail", "label": "SysRoleDataScopeDetail", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L107"}, {"id": "models_models_sysmenu", "label": "SysMenu", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L127"}, {"id": "models_models_sysdept", "label": "SysDept", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L153"}, {"id": "models_models_systenant", "label": "SysTenant", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L177"}, {"id": "models_models_syssite", "label": "SysSite", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L197"}, {"id": "models_models_syspost", "label": "SysPost", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L223"}, {"id": "models_models_sysuserpost", "label": "SysUserPost", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L243"}, {"id": "models_models_bizitemunit", "label": "BizItemUnit", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L262"}, {"id": "models_models_bizexpresscompany", "label": "BizExpressCompany", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L281"}, {"id": "models_models_bizcustomer", "label": "BizCustomer", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L301"}, {"id": "models_models_bizcellsampletype", "label": "BizCellSampleType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L324"}, {"id": "models_models_bizcollectionregion", "label": "BizCollectionRegion", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L347"}, {"id": "models_models_bizcollectionhospital", "label": "BizCollectionHospital", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L365"}, {"id": "models_models_bizcollectionprotocolno", "label": "BizCollectionProtocolNo", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L384"}, {"id": "models_models_bizbiznosequence", "label": "BizBizNoSequence", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L406"}, {"id": "models_models_bizsamplecode", "label": "BizSampleCode", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L426"}, {"id": "models_models_sysdicttype", "label": "SysDictType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L454"}, {"id": "models_models_sysethnic", "label": "SysEthnic", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L473"}, {"id": "models_models_sysdictdata", "label": "SysDictData", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L492"}, {"id": "models_models_sysapirequestlog", "label": "SysApiRequestLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L517"}, {"id": "models_models_sysapirequestloghis", "label": "SysApiRequestLogHis", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L543"}, {"id": "models_models_bizleaverequest", "label": "BizLeaveRequest", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L574"}, {"id": "models_models_wfprocessdef", "label": "WfProcessDef", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L603"}, {"id": "models_models_wfprocessversion", "label": "WfProcessVersion", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L623"}, {"id": "models_models_wfnode", "label": "WfNode", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L644"}, {"id": "models_models_wftransition", "label": "WfTransition", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L666"}, {"id": "models_models_wfprocessinstance", "label": "WfProcessInstance", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L687"}, {"id": "models_models_wftask", "label": "WfTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L711"}, {"id": "models_models_oaappgroup", "label": "OaAppGroup", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L738"}, {"id": "models_models_oaapp", "label": "OaApp", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L756"}, {"id": "models_models_oaappversion", "label": "OaAppVersion", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L782"}, {"id": "models_models_oarole", "label": "OaRole", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L806"}, {"id": "models_models_oaroleuser", "label": "OaRoleUser", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L827"}, {"id": "models_models_oainstance", "label": "OaInstance", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L846"}, {"id": "models_models_oatask", "label": "OaTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L877"}, {"id": "models_models_oainstanceevent", "label": "OaInstanceEvent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L904"}, {"id": "models_models_oarelation", "label": "OaRelation", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L928"}, {"id": "models_models_bizcollectionprotocol", "label": "BizCollectionProtocol", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L953"}, {"id": "models_models_bizprotocolaudit", "label": "BizProtocolAudit", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L987"}, {"id": "models_models_bizstoragereleasereview", "label": "BizStorageReleaseReview", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1008"}, {"id": "models_models_bizprotocolpayment", "label": "BizProtocolPayment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1041"}, {"id": "models_models_bizprotocolpaymentdetail", "label": "BizProtocolPaymentDetail", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1067"}, {"id": "models_models_bizprotocolinvoicerequest", "label": "BizProtocolInvoiceRequest", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1100"}, {"id": "models_models_bizprotocolinvoicerequestitem", "label": "BizProtocolInvoiceRequestItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1130"}, {"id": "models_models_bizprotocolpartycustomer", "label": "BizProtocolPartyCustomer", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1152"}, {"id": "models_models_bizprotocolcollectioninfo", "label": "BizProtocolCollectionInfo", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1192"}, {"id": "models_models_bizprotocolsample", "label": "BizProtocolSample", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1216"}, {"id": "models_models_bizprotocolsampletransport", "label": "BizProtocolSampleTransport", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1249"}, {"id": "models_models_bizattachment", "label": "BizAttachment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1277"}, {"id": "models_models_bizprotocolstoragecert", "label": "BizProtocolStorageCert", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1301"}, {"id": "models_models_bizsamplereceptioncheckitem", "label": "BizSampleReceptionCheckItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1322"}, {"id": "models_models_bizsamplereceptioncheckresult", "label": "BizSampleReceptionCheckResult", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1342"}, {"id": "models_models_bizsamplereception", "label": "BizSampleReception", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1364"}, {"id": "models_models_bizsampleproductionreception", "label": "BizSampleProductionReception", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1403"}, {"id": "models_models_bizsamplesmsnotification", "label": "BizSampleSmsNotification", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1441"}, {"id": "models_models_bizqcsmsnotification", "label": "BizQcSmsNotification", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1462"}, {"id": "models_models_bizstorageentrysmsnotification", "label": "BizStorageEntrySmsNotification", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1487"}, {"id": "models_models_bizqcthirdpartycompany", "label": "BizQcThirdPartyCompany", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1516"}, {"id": "models_models_bizqcthirdpartyitem", "label": "BizQcThirdPartyItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1544"}, {"id": "models_models_bizqclabtestitem", "label": "BizQcLabTestItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1566"}, {"id": "models_models_bizqcworkorder", "label": "BizQcWorkOrder", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1587"}, {"id": "models_models_bizqcworkorderinspectionbatch", "label": "BizQcWorkOrderInspectionBatch", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1636"}, {"id": "models_models_bizqcbatchassignee", "label": "BizQcBatchAssignee", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1657"}, {"id": "models_models_bizqcworkorderlabitem", "label": "BizQcWorkOrderLabItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1676"}, {"id": "models_models_bizqcworkorderthirditem", "label": "BizQcWorkOrderThirdItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1699"}, {"id": "models_models_bizqctask", "label": "BizQcTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1725"}, {"id": "models_models_bizqctaskassignee", "label": "BizQcTaskAssignee", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1759"}, {"id": "models_models_bizcleanroom", "label": "BizCleanRoom", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1783"}, {"id": "models_models_bizcleanroomaccesslog", "label": "BizCleanRoomAccessLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1806"}, {"id": "models_models_bizcleanroomuvdisinfectlog", "label": "BizCleanRoomUvDisinfectLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1831"}, {"id": "models_models_bizstoragefacility", "label": "BizStorageFacility", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1854"}, {"id": "models_models_bizstoragefacilityslot", "label": "BizStorageFacilitySlot", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1876"}, {"id": "models_models_bizstorageslotoccupancy", "label": "BizStorageSlotOccupancy", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1899"}, {"id": "models_models_bizexhibitionappointment", "label": "BizExhibitionAppointment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1925"}, {"id": "models_models_bizcellproducttype", "label": "BizCellProductType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1953"}, {"id": "models_models_bizcellproductspec", "label": "BizCellProductSpec", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1972"}, {"id": "models_models_bizcellproductprice", "label": "BizCellProductPrice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1991"}, {"id": "models_models_bizcellproductprojectsystem", "label": "BizCellProductProjectSystem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2016"}, {"id": "models_models_bizcellproductprojectsystemitem", "label": "BizCellProductProjectSystemItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2036"}, {"id": "models_models_bizchannel", "label": "BizChannel", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2063"}, {"id": "models_models_bizchannelagreement", "label": "BizChannelAgreement", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2087"}, {"id": "models_models_bizchannelagreementproductprice", "label": "BizChannelAgreementProductPrice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2112"}, {"id": "models_models_bizchannelinvoice", "label": "BizChannelInvoice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2137"}, {"id": "models_models_bizchannelmailaddress", "label": "BizChannelMailAddress", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2161"}, {"id": "models_models_bizchannelaccount", "label": "BizChannelAccount", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2182"}, {"id": "models_models_bizchannelproductquota", "label": "BizChannelProductQuota", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2201"}, {"id": "models_models_bizchannelserviceorder", "label": "BizChannelServiceOrder", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2227"}, {"id": "models_models_bizchannelserviceorderproduct", "label": "BizChannelServiceOrderProduct", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2273"}, {"id": "models_models_bizchannelserviceordertxn", "label": "BizChannelServiceOrderTxn", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2302"}, {"id": "models_models_bizcheckupinstitution", "label": "BizCheckupInstitution", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2337"}, {"id": "models_models_bizcheckupinstitutioninvoice", "label": "BizCheckupInstitutionInvoice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2360"}, {"id": "models_models_bizcheckupinstitutionproject", "label": "BizCheckupInstitutionProject", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2384"}, {"id": "models_models_bizcheckupinstitutionpackage", "label": "BizCheckupInstitutionPackage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2405"}, {"id": "models_models_bizcheckupinstitutionpackageitem", "label": "BizCheckupInstitutionPackageItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2426"}, {"id": "models_models_bizconsumable", "label": "BizConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2452"}, {"id": "models_models_bizreagent", "label": "BizReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2478"}, {"id": "models_models_bizequipment", "label": "BizEquipment", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2504"}, {"id": "models_models_bizsopdocument", "label": "BizSopDocument", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2530"}, {"id": "models_models_bizprocesscategory", "label": "BizProcessCategory", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2551"}, {"id": "models_models_bizoutputtype", "label": "BizOutputType", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2570"}, {"id": "models_models_bizconsumablepack", "label": "BizConsumablePack", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2589"}, {"id": "models_models_bizconsumablepackitem", "label": "BizConsumablePackItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2611"}, {"id": "models_models_bizprocess", "label": "BizProcess", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2634"}, {"id": "models_models_bizprocessreagent", "label": "BizProcessReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2659"}, {"id": "models_models_bizprocessconsumable", "label": "BizProcessConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2683"}, {"id": "models_models_bizprocessoutput", "label": "BizProcessOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2707"}, {"id": "models_models_bizprocessdatacollection", "label": "BizProcessDataCollection", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2728"}, {"id": "models_models_bizprocessroute", "label": "BizProcessRoute", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2746"}, {"id": "models_models_bizprocessroutestep", "label": "BizProcessRouteStep", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2768"}, {"id": "models_models_bizprocessroutestepreagent", "label": "BizProcessRouteStepReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2796"}, {"id": "models_models_bizprocessroutestepconsumable", "label": "BizProcessRouteStepConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2820"}, {"id": "models_models_bizprocessroutestepoutput", "label": "BizProcessRouteStepOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2844"}, {"id": "models_models_bizprocessroutestepdatacollection", "label": "BizProcessRouteStepDataCollection", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2865"}, {"id": "models_models_bizcellproduct", "label": "BizCellProduct", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2890"}, {"id": "models_models_bizproductionworkorder", "label": "BizProductionWorkOrder", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2925"}, {"id": "models_models_bizproductiontask", "label": "BizProductionTask", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2955"}, {"id": "models_models_bizproductiontaskhandover", "label": "BizProductionTaskHandover", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2987"}, {"id": "models_models_bizproductiontaskinput", "label": "BizProductionTaskInput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3009"}, {"id": "models_models_bizproductiontaskstep", "label": "BizProductionTaskStep", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3031"}, {"id": "models_models_bizproductiontaskstepassignee", "label": "BizProductionTaskStepAssignee", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3064"}, {"id": "models_models_bizproductiontaskstepreagent", "label": "BizProductionTaskStepReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3083"}, {"id": "models_models_bizproductiontaskstepconsumable", "label": "BizProductionTaskStepConsumable", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3109"}, {"id": "models_models_bizproductiontaskstepconfiguredreagent", "label": "BizProductionTaskStepConfiguredReagent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3135"}, {"id": "models_models_bizproductiontaskstepoutput", "label": "BizProductionTaskStepOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3160"}, {"id": "models_models_bizproductiontaskstepdatacollection", "label": "BizProductionTaskStepDataCollection", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3181"}, {"id": "models_models_bizproductiontaskoutput", "label": "BizProductionTaskOutput", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3202"}, {"id": "models_models_bizprotocolfullmoontodo", "label": "BizProtocolFullmoonTodo", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3227"}, {"id": "models_models_bizinsurancecompany", "label": "BizInsuranceCompany", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3257"}, {"id": "models_models_bizinsurancecompanyinvoice", "label": "BizInsuranceCompanyInvoice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3280"}, {"id": "models_models_bizinsuranceprojectprice", "label": "BizInsuranceProjectPrice", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3304"}, {"id": "models_models_bizconsumablestocklog", "label": "BizConsumableStockLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3325"}, {"id": "models_models_bizreagentstocklog", "label": "BizReagentStockLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3355"}, {"id": "models_models_bizpilotapplication", "label": "BizPilotApplication", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3385"}, {"id": "models_models_bizpilotpatient", "label": "BizPilotPatient", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3415"}, {"id": "models_models_bizpilotinfusionplan", "label": "BizPilotInfusionPlan", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3444"}, {"id": "models_models_bizpilotinfusionschedule", "label": "BizPilotInfusionSchedule", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3469"}, {"id": "models_models_bizpilotinfusionscheduleproduct", "label": "BizPilotInfusionScheduleProduct", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3498"}, {"id": "models_models_bizpilotcheckup", "label": "BizPilotCheckup", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3525"}, {"id": "models_models_bizpilotcheckupreserveitem", "label": "BizPilotCheckupReserveItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3554"}, {"id": "models_models_bizpilotcheckupactualitem", "label": "BizPilotCheckupActualItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3574"}, {"id": "models_models_bizpilotdelivery", "label": "BizPilotDelivery", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3594"}, {"id": "models_models_bizpilotdeliverymaterial", "label": "BizPilotDeliveryMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3613"}, {"id": "models_models_bizpilotdeliverymethod", "label": "BizPilotDeliveryMethod", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3634"}, {"id": "models_models_bizpilotinfusionconfirm", "label": "BizPilotInfusionConfirm", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3663"}, {"id": "models_models_bizoutboundreleasematerial", "label": "BizOutboundReleaseMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3684"}, {"id": "models_models_bizoutboundreleasecell", "label": "BizOutboundReleaseCell", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3703"}, {"id": "models_models_bizoutboundreleasepaper", "label": "BizOutboundReleasePaper", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3731"}, {"id": "models_models_bizoutboundhandover", "label": "BizOutboundHandover", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3753"}, {"id": "models_models_bizoutboundreleaseqcmaterial", "label": "BizOutboundReleaseQcMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3778"}, {"id": "models_models_bizoutboundreleasereview", "label": "BizOutboundReleaseReview", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3803"}, {"id": "models_models_bizenvdetectitem", "label": "BizEnvDetectItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3829"}, {"id": "models_models_bizenvdetectrecord", "label": "BizEnvDetectRecord", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3849"}, {"id": "models_models_rationale_1", "label": "\u6570\u636e\u6a21\u578b\uff08\u4e0e docs/sql/zkxw.sql \u5168\u5e93\u5bfc\u51fa\u57fa\u7ebf\u5bf9\u9f50\u7684\u6838\u5fc3\u7cfb\u7edf\u8868\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1"}, {"id": "models_models_rationale_11", "label": "Web \u7ba1\u7406\u7aef\u7ea6\u5b9a\u89d2\u8272\uff08\u7531 sys_role.role_name \u6620\u5c04\u800c\u6765\uff0c\u975e\u6570\u636e\u5e93\u679a\u4e3e\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L11"}, {"id": "models_models_rationale_70", "label": "\u7528\u6237-\u89d2\u8272\u5173\u8054 sys_user_role\uff08V0.3\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L70"}, {"id": "models_models_rationale_89", "label": "\u89d2\u8272-\u83dc\u5355\u5173\u8054 sys_role_menu\uff08V0.3\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L89"}, {"id": "models_models_rationale_108", "label": "\u89d2\u8272\u81ea\u5b9a\u4e49\u6570\u636e\u6743\u9650\u660e\u7ec6 sys_role_data_scope_detail", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L108"}, {"id": "models_models_rationale_178", "label": "\u79df\u6237\u8868 sys_tenant\uff08V0.3 2.1.1\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L178"}, {"id": "models_models_rationale_244", "label": "\u7528\u6237-\u804c\u4f4d\u5173\u8054 sys_user_post", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L244"}, {"id": "models_models_rationale_282", "label": "\u5feb\u9012\u516c\u53f8 biz_express_company", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L282"}, {"id": "models_models_rationale_325", "label": "\u7ec6\u80de\u6837\u672c\u7c7b\u578b biz_cell_sample_type", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L325"}, {"id": "models_models_rationale_348", "label": "\u91c7\u96c6\u5730\u533a biz_collection_region", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L348"}, {"id": "models_models_rationale_366", "label": "\u91c7\u96c6\u5730\u533a\u4e0b\u5c5e\u533b\u9662 biz_collection_hospital", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L366"}, {"id": "models_models_rationale_385", "label": "\u91c7\u96c6\u534f\u8bae\u53f7\u6c60 biz_collection_protocol_no", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L385"}, {"id": "models_models_rationale_407", "label": "\u4e1a\u52a1\u534f\u8bae\u53f7\u65e5\u5e8f\u5217\u8868 biz_biz_no_sequence", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L407"}, {"id": "models_models_rationale_427", "label": "\u6837\u672c\u7f16\u7801\u6c60 biz_sample_code", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L427"}, {"id": "models_models_rationale_474", "label": "\u6c11\u65cf\u7801\u8868 sys_ethnic\uff08\u56fd\u6807 GB/T 3304\uff0c\u5168\u5c40\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L474"}, {"id": "models_models_rationale_575", "label": "\u8bf7\u5047\u7533\u8bf7 biz_leave_request", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L575"}, {"id": "models_models_rationale_624", "label": "\u6d41\u7a0b\u5b9a\u4e49\u7248\u672c wf_process_version", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L624"}, {"id": "models_models_rationale_667", "label": "\u6d41\u7a0b\u8fde\u7ebf/\u8f6c\u79fb wf_transition", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L667"}, {"id": "models_models_rationale_688", "label": "\u6d41\u7a0b\u5b9e\u4f8b wf_process_instance", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L688"}, {"id": "models_models_rationale_783", "label": "OA\u5ba1\u6279\u5e94\u7528\u7248\u672c oa_app_version", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L783"}, {"id": "models_models_rationale_828", "label": "OA\u5de5\u4f5c\u6d41\u89d2\u8272\u6210\u5458 oa_role_user", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L828"}, {"id": "models_models_rationale_905", "label": "OA\u5b9e\u4f8b\u64cd\u4f5c\u4e8b\u4ef6 oa_instance_event", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L905"}, {"id": "models_models_rationale_954", "label": "\u91c7\u96c6\u534f\u8bae\u5355 biz_collection_protocol", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L954"}, {"id": "models_models_rationale_988", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u5ba1\u6838\u8bb0\u5f55 biz_protocol_audit", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L988"}, {"id": "models_models_rationale_1009", "label": "\u5165\u5e93\u653e\u884c\u5ba1\u6838 biz_storage_release_review", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1009"}, {"id": "models_models_rationale_1042", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u7f34\u8d39\u4e3b\u8868 biz_protocol_payment", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1042"}, {"id": "models_models_rationale_1068", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u7f34\u8d39\u660e\u7ec6 biz_protocol_payment_detail", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1068"}, {"id": "models_models_rationale_1101", "label": "\u91c7\u96c6\u534f\u8bae\u5355\u5f00\u7968\u7533\u8bf7\u4e3b\u8868 biz_protocol_invoice_request", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1101"}, {"id": "models_models_rationale_1131", "label": "\u91c7\u96c6\u534f\u8bae\u5355\u5f00\u7968\u7533\u8bf7\u660e\u7ec6 biz_protocol_invoice_request_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1131"}, {"id": "models_models_rationale_1153", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u5f53\u4e8b\u4eba\u5ba2\u6237\u4fe1\u606f biz_protocol_party_customer", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1153"}, {"id": "models_models_rationale_1193", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u91c7\u96c6\u4fe1\u606f biz_protocol_collection_info", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1193"}, {"id": "models_models_rationale_1217", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u6837\u672c\u4fe1\u606f biz_protocol_sample", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1217"}, {"id": "models_models_rationale_1250", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u6837\u672c\u8fd0\u8f93 biz_protocol_sample_transport", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1250"}, {"id": "models_models_rationale_1302", "label": "\u91c7\u96c6\u534f\u8bae\u5355-\u50a8\u5b58\u8bc1\u4e66 biz_protocol_storage_cert", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1302"}, {"id": "models_models_rationale_1323", "label": "\u6837\u672c\u63a5\u6536\u68c0\u67e5\u9879\u914d\u7f6e biz_sample_reception_check_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1323"}, {"id": "models_models_rationale_1343", "label": "\u6837\u672c\u63a5\u6536\u68c0\u67e5\u9879\u7ed3\u679c biz_sample_reception_check_result", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1343"}, {"id": "models_models_rationale_1365", "label": "\u6837\u672c\u63a5\u6536 biz_sample_reception", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1365"}, {"id": "models_models_rationale_1404", "label": "\u751f\u4ea7\u90e8\u95e8\u6837\u672c\u63a5\u6536\u767b\u8bb0 biz_sample_production_reception", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1404"}, {"id": "models_models_rationale_1463", "label": "\u6837\u672c\u8d28\u68c0\u77ed\u4fe1\u901a\u77e5 biz_qc_sms_notification", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1463"}, {"id": "models_models_rationale_1488", "label": "\u6837\u672c\u5165\u5e93\u77ed\u4fe1\u901a\u77e5 biz_storage_entry_sms_notification", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1488"}, {"id": "models_models_rationale_1517", "label": "\u7b2c\u4e09\u65b9\u68c0\u6d4b\u516c\u53f8 biz_qc_third_party_company", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1517"}, {"id": "models_models_rationale_1545", "label": "\u7b2c\u4e09\u65b9\u68c0\u6d4b\u9879\u76ee biz_qc_third_party_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1545"}, {"id": "models_models_rationale_1567", "label": "\u5b9e\u9a8c\u5ba4\u81ea\u68c0\u9879\u76ee biz_qc_lab_test_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1567"}, {"id": "models_models_rationale_1588", "label": "\u8d28\u68c0\u5de5\u5355 biz_qc_work_order", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1588"}, {"id": "models_models_rationale_1637", "label": "\u8d28\u68c0\u5de5\u5355\u68c0\u6d4b\u6279\u6b21 biz_qc_work_order_inspection_batch", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1637"}, {"id": "models_models_rationale_1658", "label": "\u8d28\u68c0\u68c0\u6d4b\u6279\u6b21\u8d1f\u8d23\u4eba biz_qc_batch_assignee", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1658"}, {"id": "models_models_rationale_1677", "label": "\u8d28\u68c0\u5de5\u5355-\u5b9e\u9a8c\u5ba4\u9879\u76ee\u660e\u7ec6 biz_qc_work_order_lab_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1677"}, {"id": "models_models_rationale_1700", "label": "\u8d28\u68c0\u5de5\u5355-\u7b2c\u4e09\u65b9\u9879\u76ee\u660e\u7ec6 biz_qc_work_order_third_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1700"}, {"id": "models_models_rationale_1760", "label": "\u8d28\u68c0\u4efb\u52a1\u8d1f\u8d23\u4eba biz_qc_task_assignee", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1760"}, {"id": "models_models_rationale_1807", "label": "\u6d01\u51c0\u5ba4\u51fa\u5165\u8bb0\u5f55 biz_clean_room_access_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1807"}, {"id": "models_models_rationale_1832", "label": "\u6d01\u51c0\u5ba4\u7d2b\u5916\u7ebf\u6d88\u6bd2\u8bb0\u5f55 biz_clean_room_uv_disinfect_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1832"}, {"id": "models_models_rationale_1855", "label": "\u5b58\u50a8\u8bbe\u65bd\u6811 biz_storage_facility", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1855"}, {"id": "models_models_rationale_1877", "label": "\u5b58\u50a8\u8bbe\u65bd\u5c0f\u683c biz_storage_facility_slot", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1877"}, {"id": "models_models_rationale_1900", "label": "\u5e93\u4f4d\u5360\u7528\u8bb0\u5f55 biz_storage_slot_occupancy", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1900"}, {"id": "models_models_rationale_1926", "label": "\u5c55\u9986\u9884\u7ea6 biz_exhibition_appointment", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1926"}, {"id": "models_models_rationale_1954", "label": "\u7ec6\u80de\u4ea7\u54c1\u7c7b\u578b biz_cell_product_type", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1954"}, {"id": "models_models_rationale_1973", "label": "\u7ec6\u80de\u4ea7\u54c1\u89c4\u683c biz_cell_product_spec", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1973"}, {"id": "models_models_rationale_1992", "label": "\u7ec6\u80de\u4ea7\u54c1\u4ef7\u683c\u4f53\u7cfb biz_cell_product_price", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1992"}, {"id": "models_models_rationale_2017", "label": "\u7ec6\u80de\u4ea7\u54c1\u9879\u76ee\u4ef7\u683c\u4f53\u7cfb biz_cell_product_project_system", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2017"}, {"id": "models_models_rationale_2037", "label": "\u9879\u76ee\u4ef7\u683c\u4f53\u7cfb-\u7ec6\u80de\u4ef7\u683c\u660e\u7ec6 biz_cell_product_project_system_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2037"}, {"id": "models_models_rationale_2088", "label": "\u6e20\u9053\u534f\u8bae biz_channel_agreement", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2088"}, {"id": "models_models_rationale_2113", "label": "\u6e20\u9053\u534f\u8bae-\u7ec6\u80de\u4ea7\u54c1\u4ef7\u683c biz_channel_agreement_product_price", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2113"}, {"id": "models_models_rationale_2138", "label": "\u6e20\u9053\u5f00\u7968\u4fe1\u606f biz_channel_invoice", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2138"}, {"id": "models_models_rationale_2162", "label": "\u6e20\u9053\u90ae\u5bc4\u5730\u5740 biz_channel_mail_address", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2162"}, {"id": "models_models_rationale_2183", "label": "\u6e20\u9053\u8d26\u6237\u4f59\u989d biz_channel_account", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2183"}, {"id": "models_models_rationale_2202", "label": "\u6e20\u9053\u4ea7\u54c1\u4efd\u6570\u5e93\u5b58 biz_channel_product_quota", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2202"}, {"id": "models_models_rationale_2228", "label": "\u6e20\u9053\u670d\u52a1\u8ba2\u5355 biz_channel_service_order", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2228"}, {"id": "models_models_rationale_2274", "label": "\u6e20\u9053\u670d\u52a1\u8ba2\u5355\u4ea7\u54c1\u660e\u7ec6 biz_channel_service_order_product", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2274"}, {"id": "models_models_rationale_2303", "label": "\u6e20\u9053\u670d\u52a1\u8ba2\u5355\u6d41\u6c34 biz_channel_service_order_txn", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2303"}, {"id": "models_models_rationale_2338", "label": "\u4f53\u68c0\u673a\u6784 biz_checkup_institution", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2338"}, {"id": "models_models_rationale_2361", "label": "\u4f53\u68c0\u673a\u6784\u5f00\u7968\u4fe1\u606f biz_checkup_institution_invoice", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2361"}, {"id": "models_models_rationale_2385", "label": "\u4f53\u68c0\u673a\u6784\u9879\u76ee\u53ca\u4ef7\u683c biz_checkup_institution_project", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2385"}, {"id": "models_models_rationale_2406", "label": "\u4f53\u68c0\u673a\u6784\u9879\u76ee\u5957\u9910 biz_checkup_institution_package", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2406"}, {"id": "models_models_rationale_2427", "label": "\u4f53\u68c0\u673a\u6784\u9879\u76ee\u5957\u9910\u660e\u7ec6 biz_checkup_institution_package_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2427"}, {"id": "models_models_rationale_2531", "label": "SOP\u6587\u6863 biz_sop_document", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2531"}, {"id": "models_models_rationale_2552", "label": "\u5de5\u5e8f\u5206\u7c7b biz_process_category", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2552"}, {"id": "models_models_rationale_2590", "label": "\u8017\u6750\u5305 biz_consumable_pack", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2590"}, {"id": "models_models_rationale_2612", "label": "\u8017\u6750\u5305\u660e\u7ec6 biz_consumable_pack_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2612"}, {"id": "models_models_rationale_2660", "label": "\u5de5\u827a\u8bd5\u5242 biz_process_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2660"}, {"id": "models_models_rationale_2684", "label": "\u5de5\u827a\u8017\u6750 biz_process_consumable", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2684"}, {"id": "models_models_rationale_2708", "label": "\u5de5\u827a\u4ea7\u51fa\u7269 biz_process_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2708"}, {"id": "models_models_rationale_2747", "label": "\u5de5\u827a\u8def\u7ebf biz_process_route", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2747"}, {"id": "models_models_rationale_2769", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4 biz_process_route_step", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2769"}, {"id": "models_models_rationale_2797", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u8bd5\u5242 biz_process_route_step_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2797"}, {"id": "models_models_rationale_2821", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u8017\u6750 biz_process_route_step_consumable", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2821"}, {"id": "models_models_rationale_2845", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u4ea7\u51fa\u7269 biz_process_route_step_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2845"}, {"id": "models_models_rationale_2866", "label": "\u5de5\u827a\u8def\u7ebf\u6b65\u9aa4\u6570\u636e\u91c7\u96c6\u9879 biz_process_route_step_data_collection", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2866"}, {"id": "models_models_rationale_2891", "label": "\u7ec6\u80de\u4ea7\u54c1 biz_cell_product", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2891"}, {"id": "models_models_rationale_2926", "label": "\u751f\u4ea7\u5de5\u5355 biz_production_work_order", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2926"}, {"id": "models_models_rationale_2956", "label": "\u751f\u4ea7\u4efb\u52a1 biz_production_task", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2956"}, {"id": "models_models_rationale_2988", "label": "\u751f\u4ea7\u4efb\u52a1\u8f6c\u53d1\u8bb0\u5f55 biz_production_task_handover", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2988"}, {"id": "models_models_rationale_3010", "label": "\u751f\u4ea7\u4efb\u52a1\u6295\u5165\u7269 biz_production_task_input", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3010"}, {"id": "models_models_rationale_3032", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4 biz_production_task_step", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3032"}, {"id": "models_models_rationale_3065", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u8d1f\u8d23\u4eba biz_production_task_step_assignee", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3065"}, {"id": "models_models_rationale_3084", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u8bd5\u5242 biz_production_task_step_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3084"}, {"id": "models_models_rationale_3110", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u8017\u6750 biz_production_task_step_consumable", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3110"}, {"id": "models_models_rationale_3136", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u914d\u7f6e\u8bd5\u5242 biz_production_task_step_configured_reagent", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3136"}, {"id": "models_models_rationale_3161", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u4ea7\u51fa\u7269 biz_production_task_step_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3161"}, {"id": "models_models_rationale_3182", "label": "\u751f\u4ea7\u4efb\u52a1\u6b65\u9aa4\u6570\u636e\u91c7\u96c6\u9879 biz_production_task_step_data_collection", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3182"}, {"id": "models_models_rationale_3203", "label": "\u751f\u4ea7\u4efb\u52a1\u6700\u7ec8\u4ea7\u51fa biz_production_task_output", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3203"}, {"id": "models_models_rationale_3228", "label": "\u65b0\u751f\u513f\u6ee1\u6708\u5f85\u529e biz_protocol_fullmoon_todo", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3228"}, {"id": "models_models_rationale_3258", "label": "\u4fdd\u9669\u516c\u53f8 biz_insurance_company", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3258"}, {"id": "models_models_rationale_3281", "label": "\u4fdd\u9669\u516c\u53f8\u5f00\u7968\u4fe1\u606f biz_insurance_company_invoice", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3281"}, {"id": "models_models_rationale_3305", "label": "\u4fdd\u9669\u9669\u79cd\u4ef7\u683c biz_insurance_project_price", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3305"}, {"id": "models_models_rationale_3326", "label": "\u8017\u6750\u53d8\u52a8\u8bb0\u5f55 biz_consumable_stock_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3326"}, {"id": "models_models_rationale_3356", "label": "\u8bd5\u5242\u53d8\u52a8\u8bb0\u5f55 biz_reagent_stock_log", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3356"}, {"id": "models_models_rationale_3386", "label": "\u6e20\u9053\u4e2d\u8bd5\u670d\u52a1\u7533\u8bf7\u5355 biz_pilot_application", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3386"}, {"id": "models_models_rationale_3416", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u60a3\u8005\u4fe1\u606f biz_pilot_patient", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3416"}, {"id": "models_models_rationale_3445", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u8f93\u6ce8\u65b9\u6848 biz_pilot_infusion_plan", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3445"}, {"id": "models_models_rationale_3470", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u8f93\u6ce8\u8ba1\u5212 biz_pilot_infusion_schedule", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3470"}, {"id": "models_models_rationale_3499", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u8f93\u6ce8\u8ba1\u5212\u7ec6\u80de\u4ea7\u54c1 biz_pilot_infusion_schedule_product", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3499"}, {"id": "models_models_rationale_3526", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4f53\u68c0\u4fe1\u606f biz_pilot_checkup", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3526"}, {"id": "models_models_rationale_3555", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4f53\u68c0\u9884\u7ea6\u9879\u76ee biz_pilot_checkup_reserve_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3555"}, {"id": "models_models_rationale_3575", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4f53\u68c0\u5b9e\u9645\u9879\u76ee biz_pilot_checkup_actual_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3575"}, {"id": "models_models_rationale_3595", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4ea4\u4ed8\u4fe1\u606f biz_pilot_delivery", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3595"}, {"id": "models_models_rationale_3614", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4ea4\u4ed8\u7269\u6599 biz_pilot_delivery_material", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3614"}, {"id": "models_models_rationale_3635", "label": "\u4e2d\u8bd5\u7533\u8bf7\u5355-\u4ea4\u4ed8\u65b9\u5f0f biz_pilot_delivery_method", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3635"}, {"id": "models_models_rationale_3664", "label": "\u8f93\u6ce8\u8ba1\u5212-\u5e94\u7528\u786e\u8ba4 biz_pilot_infusion_confirm", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3664"}, {"id": "models_models_rationale_3685", "label": "\u51fa\u5e93\u653e\u884c-\u51fa\u5e93\u7269\u6599\u51c6\u5907\u4e3b\u8868 biz_outbound_release_material", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3685"}, {"id": "models_models_rationale_3704", "label": "\u51fa\u5e93\u653e\u884c-\u51fa\u5e93\u7ec6\u80de(\u53f0\u8d26) biz_outbound_release_cell", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3704"}, {"id": "models_models_rationale_3732", "label": "\u51fa\u5e93\u653e\u884c-\u5176\u4ed6\u7eb8\u8d28\u6750\u6599(\u53f0\u8d26) biz_outbound_release_paper", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3732"}, {"id": "models_models_rationale_3754", "label": "\u8f93\u6ce8\u8ba1\u5212-\u51fa\u5e93\u4ea4\u63a5 biz_outbound_handover", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3754"}, {"id": "models_models_rationale_3779", "label": "\u51fa\u5e93\u653e\u884c-\u8d28\u68c0\u7269\u6599(\u53f0\u8d26) biz_outbound_release_qc_material", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3779"}, {"id": "models_models_rationale_3804", "label": "\u51fa\u5e93\u653e\u884c\u5ba1\u6838 biz_outbound_release_review", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3804"}, {"id": "models_models_rationale_3830", "label": "\u73af\u5883\u68c0\u6d4b\u9879 biz_env_detect_item", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3830"}, {"id": "models_models_rationale_3850", "label": "\u73af\u5883\u68c0\u6d4b\u767b\u8bb0 biz_env_detect_record", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3850"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "enum", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_userrole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L10", "weight": 1.0}, {"source": "models_models_userrole", "target": "str", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L22", "weight": 1.0}, {"source": "models_models_sysuser", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysrole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L49", "weight": 1.0}, {"source": "models_models_sysrole", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysuserrole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L69", "weight": 1.0}, {"source": "models_models_sysuserrole", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysrolemenu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L88", "weight": 1.0}, {"source": "models_models_sysrolemenu", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L88", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysroledatascopedetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L107", "weight": 1.0}, {"source": "models_models_sysroledatascopedetail", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L107", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysmenu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L127", "weight": 1.0}, {"source": "models_models_sysmenu", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L127", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysdept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L153", "weight": 1.0}, {"source": "models_models_sysdept", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L153", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_systenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L177", "weight": 1.0}, {"source": "models_models_systenant", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L177", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_syssite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L197", "weight": 1.0}, {"source": "models_models_syssite", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L197", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_syspost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L223", "weight": 1.0}, {"source": "models_models_syspost", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L223", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysuserpost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L243", "weight": 1.0}, {"source": "models_models_sysuserpost", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L243", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizitemunit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L262", "weight": 1.0}, {"source": "models_models_bizitemunit", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizexpresscompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L281", "weight": 1.0}, {"source": "models_models_bizexpresscompany", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L281", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcustomer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L301", "weight": 1.0}, {"source": "models_models_bizcustomer", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellsampletype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L324", "weight": 1.0}, {"source": "models_models_bizcellsampletype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L324", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionregion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L347", "weight": 1.0}, {"source": "models_models_bizcollectionregion", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionhospital", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L365", "weight": 1.0}, {"source": "models_models_bizcollectionhospital", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L365", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionprotocolno", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L384", "weight": 1.0}, {"source": "models_models_bizcollectionprotocolno", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L384", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizbiznosequence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L406", "weight": 1.0}, {"source": "models_models_bizbiznosequence", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L406", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplecode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L426", "weight": 1.0}, {"source": "models_models_bizsamplecode", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L426", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysdicttype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L454", "weight": 1.0}, {"source": "models_models_sysdicttype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L454", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysethnic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L473", "weight": 1.0}, {"source": "models_models_sysethnic", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L473", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysdictdata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L492", "weight": 1.0}, {"source": "models_models_sysdictdata", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L492", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysapirequestlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L517", "weight": 1.0}, {"source": "models_models_sysapirequestlog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L517", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_sysapirequestloghis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L543", "weight": 1.0}, {"source": "models_models_sysapirequestloghis", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L543", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizleaverequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L574", "weight": 1.0}, {"source": "models_models_bizleaverequest", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfprocessdef", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L603", "weight": 1.0}, {"source": "models_models_wfprocessdef", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L603", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfprocessversion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L623", "weight": 1.0}, {"source": "models_models_wfprocessversion", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L644", "weight": 1.0}, {"source": "models_models_wfnode", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L644", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wftransition", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L666", "weight": 1.0}, {"source": "models_models_wftransition", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L666", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wfprocessinstance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L687", "weight": 1.0}, {"source": "models_models_wfprocessinstance", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L687", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_wftask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L711", "weight": 1.0}, {"source": "models_models_wftask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L711", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaappgroup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L738", "weight": 1.0}, {"source": "models_models_oaappgroup", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L738", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaapp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L756", "weight": 1.0}, {"source": "models_models_oaapp", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L756", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaappversion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L782", "weight": 1.0}, {"source": "models_models_oaappversion", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L782", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oarole", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L806", "weight": 1.0}, {"source": "models_models_oarole", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L806", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oaroleuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L827", "weight": 1.0}, {"source": "models_models_oaroleuser", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L827", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oainstance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L846", "weight": 1.0}, {"source": "models_models_oainstance", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L846", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oatask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L877", "weight": 1.0}, {"source": "models_models_oatask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L877", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oainstanceevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L904", "weight": 1.0}, {"source": "models_models_oainstanceevent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L904", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_oarelation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L928", "weight": 1.0}, {"source": "models_models_oarelation", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L928", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcollectionprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L953", "weight": 1.0}, {"source": "models_models_bizcollectionprotocol", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L953", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolaudit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L987", "weight": 1.0}, {"source": "models_models_bizprotocolaudit", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L987", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstoragereleasereview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1008", "weight": 1.0}, {"source": "models_models_bizstoragereleasereview", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1008", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolpayment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1041", "weight": 1.0}, {"source": "models_models_bizprotocolpayment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1041", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolpaymentdetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1067", "weight": 1.0}, {"source": "models_models_bizprotocolpaymentdetail", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1067", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolinvoicerequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1100", "weight": 1.0}, {"source": "models_models_bizprotocolinvoicerequest", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolinvoicerequestitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1130", "weight": 1.0}, {"source": "models_models_bizprotocolinvoicerequestitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolpartycustomer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1152", "weight": 1.0}, {"source": "models_models_bizprotocolpartycustomer", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1152", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolcollectioninfo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1192", "weight": 1.0}, {"source": "models_models_bizprotocolcollectioninfo", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1192", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolsample", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1216", "weight": 1.0}, {"source": "models_models_bizprotocolsample", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1216", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolsampletransport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1249", "weight": 1.0}, {"source": "models_models_bizprotocolsampletransport", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1277", "weight": 1.0}, {"source": "models_models_bizattachment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolstoragecert", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1301", "weight": 1.0}, {"source": "models_models_bizprotocolstoragecert", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplereceptioncheckitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1322", "weight": 1.0}, {"source": "models_models_bizsamplereceptioncheckitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1322", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplereceptioncheckresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1342", "weight": 1.0}, {"source": "models_models_bizsamplereceptioncheckresult", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1342", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplereception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1364", "weight": 1.0}, {"source": "models_models_bizsamplereception", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsampleproductionreception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1403", "weight": 1.0}, {"source": "models_models_bizsampleproductionreception", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1403", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsamplesmsnotification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1441", "weight": 1.0}, {"source": "models_models_bizsamplesmsnotification", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1441", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcsmsnotification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1462", "weight": 1.0}, {"source": "models_models_bizqcsmsnotification", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1462", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstorageentrysmsnotification", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1487", "weight": 1.0}, {"source": "models_models_bizstorageentrysmsnotification", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1487", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcthirdpartycompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1516", "weight": 1.0}, {"source": "models_models_bizqcthirdpartycompany", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1516", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcthirdpartyitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1544", "weight": 1.0}, {"source": "models_models_bizqcthirdpartyitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1544", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqclabtestitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1566", "weight": 1.0}, {"source": "models_models_bizqclabtestitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1587", "weight": 1.0}, {"source": "models_models_bizqcworkorder", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1587", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorderinspectionbatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1636", "weight": 1.0}, {"source": "models_models_bizqcworkorderinspectionbatch", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1636", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcbatchassignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1657", "weight": 1.0}, {"source": "models_models_bizqcbatchassignee", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1657", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorderlabitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1676", "weight": 1.0}, {"source": "models_models_bizqcworkorderlabitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1676", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqcworkorderthirditem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1699", "weight": 1.0}, {"source": "models_models_bizqcworkorderthirditem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1699", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqctask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1725", "weight": 1.0}, {"source": "models_models_bizqctask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1725", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizqctaskassignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1759", "weight": 1.0}, {"source": "models_models_bizqctaskassignee", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1759", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcleanroom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1783", "weight": 1.0}, {"source": "models_models_bizcleanroom", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1783", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcleanroomaccesslog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1806", "weight": 1.0}, {"source": "models_models_bizcleanroomaccesslog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1806", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcleanroomuvdisinfectlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1831", "weight": 1.0}, {"source": "models_models_bizcleanroomuvdisinfectlog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1831", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstoragefacility", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1854", "weight": 1.0}, {"source": "models_models_bizstoragefacility", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1854", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstoragefacilityslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1876", "weight": 1.0}, {"source": "models_models_bizstoragefacilityslot", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1876", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizstorageslotoccupancy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1899", "weight": 1.0}, {"source": "models_models_bizstorageslotoccupancy", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1899", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizexhibitionappointment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1925", "weight": 1.0}, {"source": "models_models_bizexhibitionappointment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1925", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproducttype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1953", "weight": 1.0}, {"source": "models_models_bizcellproducttype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1953", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1972", "weight": 1.0}, {"source": "models_models_bizcellproductspec", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1972", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductprice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1991", "weight": 1.0}, {"source": "models_models_bizcellproductprice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1991", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductprojectsystem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2016", "weight": 1.0}, {"source": "models_models_bizcellproductprojectsystem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2016", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproductprojectsystemitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2036", "weight": 1.0}, {"source": "models_models_bizcellproductprojectsystemitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2036", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2063", "weight": 1.0}, {"source": "models_models_bizchannel", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelagreement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2087", "weight": 1.0}, {"source": "models_models_bizchannelagreement", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2087", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelagreementproductprice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2112", "weight": 1.0}, {"source": "models_models_bizchannelagreementproductprice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2112", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelinvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2137", "weight": 1.0}, {"source": "models_models_bizchannelinvoice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2137", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelmailaddress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2161", "weight": 1.0}, {"source": "models_models_bizchannelmailaddress", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2161", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelaccount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2182", "weight": 1.0}, {"source": "models_models_bizchannelaccount", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2182", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelproductquota", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2201", "weight": 1.0}, {"source": "models_models_bizchannelproductquota", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2201", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelserviceorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2227", "weight": 1.0}, {"source": "models_models_bizchannelserviceorder", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2227", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelserviceorderproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2273", "weight": 1.0}, {"source": "models_models_bizchannelserviceorderproduct", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2273", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizchannelserviceordertxn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2302", "weight": 1.0}, {"source": "models_models_bizchannelserviceordertxn", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2302", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2337", "weight": 1.0}, {"source": "models_models_bizcheckupinstitution", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2337", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutioninvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2360", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutioninvoice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2360", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutionproject", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2384", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutionproject", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2384", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutionpackage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2405", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutionpackage", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2405", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcheckupinstitutionpackageitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2426", "weight": 1.0}, {"source": "models_models_bizcheckupinstitutionpackageitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2426", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2452", "weight": 1.0}, {"source": "models_models_bizconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2452", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2478", "weight": 1.0}, {"source": "models_models_bizreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2478", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizequipment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2504", "weight": 1.0}, {"source": "models_models_bizequipment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2504", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizsopdocument", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2530", "weight": 1.0}, {"source": "models_models_bizsopdocument", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2530", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocesscategory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2551", "weight": 1.0}, {"source": "models_models_bizprocesscategory", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2551", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutputtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2570", "weight": 1.0}, {"source": "models_models_bizoutputtype", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumablepack", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2589", "weight": 1.0}, {"source": "models_models_bizconsumablepack", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2589", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumablepackitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2611", "weight": 1.0}, {"source": "models_models_bizconsumablepackitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2611", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2634", "weight": 1.0}, {"source": "models_models_bizprocess", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2659", "weight": 1.0}, {"source": "models_models_bizprocessreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2659", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2683", "weight": 1.0}, {"source": "models_models_bizprocessconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2683", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2707", "weight": 1.0}, {"source": "models_models_bizprocessoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2707", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessdatacollection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2728", "weight": 1.0}, {"source": "models_models_bizprocessdatacollection", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2728", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2746", "weight": 1.0}, {"source": "models_models_bizprocessroute", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2746", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2768", "weight": 1.0}, {"source": "models_models_bizprocessroutestep", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2768", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2796", "weight": 1.0}, {"source": "models_models_bizprocessroutestepreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2796", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2820", "weight": 1.0}, {"source": "models_models_bizprocessroutestepconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2820", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2844", "weight": 1.0}, {"source": "models_models_bizprocessroutestepoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2844", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprocessroutestepdatacollection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2865", "weight": 1.0}, {"source": "models_models_bizprocessroutestepdatacollection", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2865", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizcellproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2890", "weight": 1.0}, {"source": "models_models_bizcellproduct", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2890", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductionworkorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2925", "weight": 1.0}, {"source": "models_models_bizproductionworkorder", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2925", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2955", "weight": 1.0}, {"source": "models_models_bizproductiontask", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2955", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskhandover", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2987", "weight": 1.0}, {"source": "models_models_bizproductiontaskhandover", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2987", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskinput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3009", "weight": 1.0}, {"source": "models_models_bizproductiontaskinput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3009", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3031", "weight": 1.0}, {"source": "models_models_bizproductiontaskstep", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3031", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepassignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3064", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepassignee", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3064", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3083", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3083", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepconsumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3109", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepconsumable", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepconfiguredreagent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3135", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepconfiguredreagent", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3135", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3160", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskstepdatacollection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3181", "weight": 1.0}, {"source": "models_models_bizproductiontaskstepdatacollection", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3181", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizproductiontaskoutput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3202", "weight": 1.0}, {"source": "models_models_bizproductiontaskoutput", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3202", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizprotocolfullmoontodo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3227", "weight": 1.0}, {"source": "models_models_bizprotocolfullmoontodo", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3227", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizinsurancecompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3257", "weight": 1.0}, {"source": "models_models_bizinsurancecompany", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3257", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizinsurancecompanyinvoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3280", "weight": 1.0}, {"source": "models_models_bizinsurancecompanyinvoice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3280", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizinsuranceprojectprice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3304", "weight": 1.0}, {"source": "models_models_bizinsuranceprojectprice", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3304", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizconsumablestocklog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3325", "weight": 1.0}, {"source": "models_models_bizconsumablestocklog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizreagentstocklog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3355", "weight": 1.0}, {"source": "models_models_bizreagentstocklog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3355", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotapplication", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3385", "weight": 1.0}, {"source": "models_models_bizpilotapplication", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3385", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotpatient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3415", "weight": 1.0}, {"source": "models_models_bizpilotpatient", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3415", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3444", "weight": 1.0}, {"source": "models_models_bizpilotinfusionplan", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionschedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3469", "weight": 1.0}, {"source": "models_models_bizpilotinfusionschedule", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3469", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionscheduleproduct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3498", "weight": 1.0}, {"source": "models_models_bizpilotinfusionscheduleproduct", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotcheckup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3525", "weight": 1.0}, {"source": "models_models_bizpilotcheckup", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3525", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotcheckupreserveitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3554", "weight": 1.0}, {"source": "models_models_bizpilotcheckupreserveitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3554", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotcheckupactualitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3574", "weight": 1.0}, {"source": "models_models_bizpilotcheckupactualitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotdelivery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3594", "weight": 1.0}, {"source": "models_models_bizpilotdelivery", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3594", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotdeliverymaterial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3613", "weight": 1.0}, {"source": "models_models_bizpilotdeliverymaterial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3613", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotdeliverymethod", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3634", "weight": 1.0}, {"source": "models_models_bizpilotdeliverymethod", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizpilotinfusionconfirm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3663", "weight": 1.0}, {"source": "models_models_bizpilotinfusionconfirm", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3663", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasematerial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3684", "weight": 1.0}, {"source": "models_models_bizoutboundreleasematerial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasecell", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3703", "weight": 1.0}, {"source": "models_models_bizoutboundreleasecell", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3703", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasepaper", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3731", "weight": 1.0}, {"source": "models_models_bizoutboundreleasepaper", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3731", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundhandover", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3753", "weight": 1.0}, {"source": "models_models_bizoutboundhandover", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3753", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleaseqcmaterial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3778", "weight": 1.0}, {"source": "models_models_bizoutboundreleaseqcmaterial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3778", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizoutboundreleasereview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3803", "weight": 1.0}, {"source": "models_models_bizoutboundreleasereview", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3803", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizenvdetectitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3829", "weight": 1.0}, {"source": "models_models_bizenvdetectitem", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3829", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "models_models_bizenvdetectrecord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3849", "weight": 1.0}, {"source": "models_models_bizenvdetectrecord", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3849", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_qc_param", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3876", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_qc_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3877", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_production_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3878", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3886", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "target": "app_models_clinical_payment", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3895", "weight": 1.0}, {"source": "models_models_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_models_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1", "weight": 1.0}, {"source": "models_models_rationale_11", "target": "models_models_userrole", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L11", "weight": 1.0}, {"source": "models_models_rationale_70", "target": "models_models_sysuserrole", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L70", "weight": 1.0}, {"source": "models_models_rationale_89", "target": "models_models_sysrolemenu", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L89", "weight": 1.0}, {"source": "models_models_rationale_108", "target": "models_models_sysroledatascopedetail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L108", "weight": 1.0}, {"source": "models_models_rationale_178", "target": "models_models_systenant", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L178", "weight": 1.0}, {"source": "models_models_rationale_244", "target": "models_models_sysuserpost", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L244", "weight": 1.0}, {"source": "models_models_rationale_282", "target": "models_models_bizexpresscompany", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L282", "weight": 1.0}, {"source": "models_models_rationale_325", "target": "models_models_bizcellsampletype", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L325", "weight": 1.0}, {"source": "models_models_rationale_348", "target": "models_models_bizcollectionregion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L348", "weight": 1.0}, {"source": "models_models_rationale_366", "target": "models_models_bizcollectionhospital", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L366", "weight": 1.0}, {"source": "models_models_rationale_385", "target": "models_models_bizcollectionprotocolno", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L385", "weight": 1.0}, {"source": "models_models_rationale_407", "target": "models_models_bizbiznosequence", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L407", "weight": 1.0}, {"source": "models_models_rationale_427", "target": "models_models_bizsamplecode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L427", "weight": 1.0}, {"source": "models_models_rationale_474", "target": "models_models_sysethnic", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L474", "weight": 1.0}, {"source": "models_models_rationale_575", "target": "models_models_bizleaverequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L575", "weight": 1.0}, {"source": "models_models_rationale_624", "target": "models_models_wfprocessversion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L624", "weight": 1.0}, {"source": "models_models_rationale_667", "target": "models_models_wftransition", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L667", "weight": 1.0}, {"source": "models_models_rationale_688", "target": "models_models_wfprocessinstance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L688", "weight": 1.0}, {"source": "models_models_rationale_783", "target": "models_models_oaappversion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L783", "weight": 1.0}, {"source": "models_models_rationale_828", "target": "models_models_oaroleuser", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L828", "weight": 1.0}, {"source": "models_models_rationale_905", "target": "models_models_oainstanceevent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L905", "weight": 1.0}, {"source": "models_models_rationale_954", "target": "models_models_bizcollectionprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L954", "weight": 1.0}, {"source": "models_models_rationale_988", "target": "models_models_bizprotocolaudit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L988", "weight": 1.0}, {"source": "models_models_rationale_1009", "target": "models_models_bizstoragereleasereview", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1009", "weight": 1.0}, {"source": "models_models_rationale_1042", "target": "models_models_bizprotocolpayment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1042", "weight": 1.0}, {"source": "models_models_rationale_1068", "target": "models_models_bizprotocolpaymentdetail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1068", "weight": 1.0}, {"source": "models_models_rationale_1101", "target": "models_models_bizprotocolinvoicerequest", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1101", "weight": 1.0}, {"source": "models_models_rationale_1131", "target": "models_models_bizprotocolinvoicerequestitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1131", "weight": 1.0}, {"source": "models_models_rationale_1153", "target": "models_models_bizprotocolpartycustomer", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1153", "weight": 1.0}, {"source": "models_models_rationale_1193", "target": "models_models_bizprotocolcollectioninfo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1193", "weight": 1.0}, {"source": "models_models_rationale_1217", "target": "models_models_bizprotocolsample", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1217", "weight": 1.0}, {"source": "models_models_rationale_1250", "target": "models_models_bizprotocolsampletransport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1250", "weight": 1.0}, {"source": "models_models_rationale_1302", "target": "models_models_bizprotocolstoragecert", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1302", "weight": 1.0}, {"source": "models_models_rationale_1323", "target": "models_models_bizsamplereceptioncheckitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1323", "weight": 1.0}, {"source": "models_models_rationale_1343", "target": "models_models_bizsamplereceptioncheckresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1343", "weight": 1.0}, {"source": "models_models_rationale_1365", "target": "models_models_bizsamplereception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1365", "weight": 1.0}, {"source": "models_models_rationale_1404", "target": "models_models_bizsampleproductionreception", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1404", "weight": 1.0}, {"source": "models_models_rationale_1463", "target": "models_models_bizqcsmsnotification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1463", "weight": 1.0}, {"source": "models_models_rationale_1488", "target": "models_models_bizstorageentrysmsnotification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1488", "weight": 1.0}, {"source": "models_models_rationale_1517", "target": "models_models_bizqcthirdpartycompany", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1517", "weight": 1.0}, {"source": "models_models_rationale_1545", "target": "models_models_bizqcthirdpartyitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1545", "weight": 1.0}, {"source": "models_models_rationale_1567", "target": "models_models_bizqclabtestitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1567", "weight": 1.0}, {"source": "models_models_rationale_1588", "target": "models_models_bizqcworkorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1588", "weight": 1.0}, {"source": "models_models_rationale_1637", "target": "models_models_bizqcworkorderinspectionbatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1637", "weight": 1.0}, {"source": "models_models_rationale_1658", "target": "models_models_bizqcbatchassignee", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1658", "weight": 1.0}, {"source": "models_models_rationale_1677", "target": "models_models_bizqcworkorderlabitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1677", "weight": 1.0}, {"source": "models_models_rationale_1700", "target": "models_models_bizqcworkorderthirditem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1700", "weight": 1.0}, {"source": "models_models_rationale_1760", "target": "models_models_bizqctaskassignee", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1760", "weight": 1.0}, {"source": "models_models_rationale_1807", "target": "models_models_bizcleanroomaccesslog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1807", "weight": 1.0}, {"source": "models_models_rationale_1832", "target": "models_models_bizcleanroomuvdisinfectlog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1832", "weight": 1.0}, {"source": "models_models_rationale_1855", "target": "models_models_bizstoragefacility", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1855", "weight": 1.0}, {"source": "models_models_rationale_1877", "target": "models_models_bizstoragefacilityslot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1877", "weight": 1.0}, {"source": "models_models_rationale_1900", "target": "models_models_bizstorageslotoccupancy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1900", "weight": 1.0}, {"source": "models_models_rationale_1926", "target": "models_models_bizexhibitionappointment", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1926", "weight": 1.0}, {"source": "models_models_rationale_1954", "target": "models_models_bizcellproducttype", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1954", "weight": 1.0}, {"source": "models_models_rationale_1973", "target": "models_models_bizcellproductspec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1973", "weight": 1.0}, {"source": "models_models_rationale_1992", "target": "models_models_bizcellproductprice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L1992", "weight": 1.0}, {"source": "models_models_rationale_2017", "target": "models_models_bizcellproductprojectsystem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2017", "weight": 1.0}, {"source": "models_models_rationale_2037", "target": "models_models_bizcellproductprojectsystemitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2037", "weight": 1.0}, {"source": "models_models_rationale_2088", "target": "models_models_bizchannelagreement", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2088", "weight": 1.0}, {"source": "models_models_rationale_2113", "target": "models_models_bizchannelagreementproductprice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2113", "weight": 1.0}, {"source": "models_models_rationale_2138", "target": "models_models_bizchannelinvoice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2138", "weight": 1.0}, {"source": "models_models_rationale_2162", "target": "models_models_bizchannelmailaddress", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2162", "weight": 1.0}, {"source": "models_models_rationale_2183", "target": "models_models_bizchannelaccount", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2183", "weight": 1.0}, {"source": "models_models_rationale_2202", "target": "models_models_bizchannelproductquota", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2202", "weight": 1.0}, {"source": "models_models_rationale_2228", "target": "models_models_bizchannelserviceorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2228", "weight": 1.0}, {"source": "models_models_rationale_2274", "target": "models_models_bizchannelserviceorderproduct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2274", "weight": 1.0}, {"source": "models_models_rationale_2303", "target": "models_models_bizchannelserviceordertxn", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2303", "weight": 1.0}, {"source": "models_models_rationale_2338", "target": "models_models_bizcheckupinstitution", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2338", "weight": 1.0}, {"source": "models_models_rationale_2361", "target": "models_models_bizcheckupinstitutioninvoice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2361", "weight": 1.0}, {"source": "models_models_rationale_2385", "target": "models_models_bizcheckupinstitutionproject", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2385", "weight": 1.0}, {"source": "models_models_rationale_2406", "target": "models_models_bizcheckupinstitutionpackage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2406", "weight": 1.0}, {"source": "models_models_rationale_2427", "target": "models_models_bizcheckupinstitutionpackageitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2427", "weight": 1.0}, {"source": "models_models_rationale_2531", "target": "models_models_bizsopdocument", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2531", "weight": 1.0}, {"source": "models_models_rationale_2552", "target": "models_models_bizprocesscategory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2552", "weight": 1.0}, {"source": "models_models_rationale_2590", "target": "models_models_bizconsumablepack", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2590", "weight": 1.0}, {"source": "models_models_rationale_2612", "target": "models_models_bizconsumablepackitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2612", "weight": 1.0}, {"source": "models_models_rationale_2660", "target": "models_models_bizprocessreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2660", "weight": 1.0}, {"source": "models_models_rationale_2684", "target": "models_models_bizprocessconsumable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2684", "weight": 1.0}, {"source": "models_models_rationale_2708", "target": "models_models_bizprocessoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2708", "weight": 1.0}, {"source": "models_models_rationale_2747", "target": "models_models_bizprocessroute", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2747", "weight": 1.0}, {"source": "models_models_rationale_2769", "target": "models_models_bizprocessroutestep", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2769", "weight": 1.0}, {"source": "models_models_rationale_2797", "target": "models_models_bizprocessroutestepreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2797", "weight": 1.0}, {"source": "models_models_rationale_2821", "target": "models_models_bizprocessroutestepconsumable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2821", "weight": 1.0}, {"source": "models_models_rationale_2845", "target": "models_models_bizprocessroutestepoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2845", "weight": 1.0}, {"source": "models_models_rationale_2866", "target": "models_models_bizprocessroutestepdatacollection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2866", "weight": 1.0}, {"source": "models_models_rationale_2891", "target": "models_models_bizcellproduct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2891", "weight": 1.0}, {"source": "models_models_rationale_2926", "target": "models_models_bizproductionworkorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2926", "weight": 1.0}, {"source": "models_models_rationale_2956", "target": "models_models_bizproductiontask", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2956", "weight": 1.0}, {"source": "models_models_rationale_2988", "target": "models_models_bizproductiontaskhandover", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L2988", "weight": 1.0}, {"source": "models_models_rationale_3010", "target": "models_models_bizproductiontaskinput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3010", "weight": 1.0}, {"source": "models_models_rationale_3032", "target": "models_models_bizproductiontaskstep", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3032", "weight": 1.0}, {"source": "models_models_rationale_3065", "target": "models_models_bizproductiontaskstepassignee", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3065", "weight": 1.0}, {"source": "models_models_rationale_3084", "target": "models_models_bizproductiontaskstepreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3084", "weight": 1.0}, {"source": "models_models_rationale_3110", "target": "models_models_bizproductiontaskstepconsumable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3110", "weight": 1.0}, {"source": "models_models_rationale_3136", "target": "models_models_bizproductiontaskstepconfiguredreagent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3136", "weight": 1.0}, {"source": "models_models_rationale_3161", "target": "models_models_bizproductiontaskstepoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3161", "weight": 1.0}, {"source": "models_models_rationale_3182", "target": "models_models_bizproductiontaskstepdatacollection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3182", "weight": 1.0}, {"source": "models_models_rationale_3203", "target": "models_models_bizproductiontaskoutput", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3203", "weight": 1.0}, {"source": "models_models_rationale_3228", "target": "models_models_bizprotocolfullmoontodo", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3228", "weight": 1.0}, {"source": "models_models_rationale_3258", "target": "models_models_bizinsurancecompany", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3258", "weight": 1.0}, {"source": "models_models_rationale_3281", "target": "models_models_bizinsurancecompanyinvoice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3281", "weight": 1.0}, {"source": "models_models_rationale_3305", "target": "models_models_bizinsuranceprojectprice", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3305", "weight": 1.0}, {"source": "models_models_rationale_3326", "target": "models_models_bizconsumablestocklog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3326", "weight": 1.0}, {"source": "models_models_rationale_3356", "target": "models_models_bizreagentstocklog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3356", "weight": 1.0}, {"source": "models_models_rationale_3386", "target": "models_models_bizpilotapplication", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3386", "weight": 1.0}, {"source": "models_models_rationale_3416", "target": "models_models_bizpilotpatient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3416", "weight": 1.0}, {"source": "models_models_rationale_3445", "target": "models_models_bizpilotinfusionplan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3445", "weight": 1.0}, {"source": "models_models_rationale_3470", "target": "models_models_bizpilotinfusionschedule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3470", "weight": 1.0}, {"source": "models_models_rationale_3499", "target": "models_models_bizpilotinfusionscheduleproduct", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3499", "weight": 1.0}, {"source": "models_models_rationale_3526", "target": "models_models_bizpilotcheckup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3526", "weight": 1.0}, {"source": "models_models_rationale_3555", "target": "models_models_bizpilotcheckupreserveitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3555", "weight": 1.0}, {"source": "models_models_rationale_3575", "target": "models_models_bizpilotcheckupactualitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3575", "weight": 1.0}, {"source": "models_models_rationale_3595", "target": "models_models_bizpilotdelivery", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3595", "weight": 1.0}, {"source": "models_models_rationale_3614", "target": "models_models_bizpilotdeliverymaterial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3614", "weight": 1.0}, {"source": "models_models_rationale_3635", "target": "models_models_bizpilotdeliverymethod", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3635", "weight": 1.0}, {"source": "models_models_rationale_3664", "target": "models_models_bizpilotinfusionconfirm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3664", "weight": 1.0}, {"source": "models_models_rationale_3685", "target": "models_models_bizoutboundreleasematerial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3685", "weight": 1.0}, {"source": "models_models_rationale_3704", "target": "models_models_bizoutboundreleasecell", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3704", "weight": 1.0}, {"source": "models_models_rationale_3732", "target": "models_models_bizoutboundreleasepaper", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3732", "weight": 1.0}, {"source": "models_models_rationale_3754", "target": "models_models_bizoutboundhandover", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3754", "weight": 1.0}, {"source": "models_models_rationale_3779", "target": "models_models_bizoutboundreleaseqcmaterial", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3779", "weight": 1.0}, {"source": "models_models_rationale_3804", "target": "models_models_bizoutboundreleasereview", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3804", "weight": 1.0}, {"source": "models_models_rationale_3830", "target": "models_models_bizenvdetectitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3830", "weight": 1.0}, {"source": "models_models_rationale_3850", "target": "models_models_bizenvdetectrecord", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/models.py", "source_location": "L3850", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/4540ec751f48c9ae9c7d96df7612fbe11e50272c8d17163617f5c8eaea96ea7d.json b/backend/app/graphify-out/cache/ast/4540ec751f48c9ae9c7d96df7612fbe11e50272c8d17163617f5c8eaea96ea7d.json new file mode 100644 index 00000000..924d8332 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/4540ec751f48c9ae9c7d96df7612fbe11e50272c8d17163617f5c8eaea96ea7d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57"}, {"id": "services_oa_engine_flow_node_key_order", "label": "_flow_node_key_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_next_task_order_num", "label": "_next_task_order_num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_sort_tasks_for_detail", "label": "_sort_tasks_for_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111"}, {"id": "services_oa_engine_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131"}, {"id": "services_oa_engine_terminal_item", "label": "_terminal_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139"}, {"id": "services_oa_engine_task_round", "label": "_task_round()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154"}, {"id": "services_oa_engine_append_pending_nodes", "label": "_append_pending_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164"}, {"id": "services_oa_engine_build_progress_items", "label": "build_progress_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"id": "services_oa_engine_add_instance_event", "label": "_add_instance_event()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L302"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L338"}, {"id": "services_oa_engine_instance_progress_summary", "label": "_instance_progress_summary()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"id": "services_oa_engine_enrich_list_rows", "label": "_enrich_list_rows()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L477"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L485"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L576"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L591"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L599"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L725"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L775"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L844"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L885"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L955"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1070"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1134"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1198"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1319"}, {"id": "services_oa_engine_return_task", "label": "return_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1435"}, {"id": "services_oa_engine_resubmit_instance", "label": "resubmit_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1516"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1530"}, {"id": "services_oa_engine_rationale_76", "label": "\u6309\u6d41\u7a0b\u6811\u5148\u5e8f\u904d\u5386\u4e3a node.id \u5206\u914d\u7a33\u5b9a\u5e8f\u53f7\uff08\u7528\u4e8e\u8be6\u60c5\u65f6\u95f4\u8f74\u6392\u5e8f\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"id": "services_oa_engine_rationale_101", "label": "\u540c\u4e00\u5b9e\u4f8b\u5185\u4efb\u52a1\u5c55\u793a\u5e8f\u53f7\u53d6 max+1\uff08\u65e0\u4efb\u52a1\u4ece 1 \u8d77\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101"}, {"id": "services_oa_engine_rationale_114", "label": "\u8be6\u60c5\u65f6\u95f4\u8f74\uff1a\u6309\u6d41\u7a0b\u6811\u8282\u70b9\u987a\u5e8f\uff0c\u518d order_num / create_time\uff08\u517c\u5bb9\u65e7\u6570\u636e\u540c\u79d2\u521b\u5efa\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"id": "services_oa_engine_rationale_203", "label": "\u6295\u5f71\u5ba1\u6279\u8fdb\u5ea6\uff1a\u53d1\u8d77\u4eba \u2192 \u6811\u5e8f tasks \u2192 \u672a\u5230\u8fbe\uff1b\u7ec8\u6001\u6536\u5c3e\u3002 \u9489\u9489\u5bf9\u9f50\uff1a\u6253\u56de\u7ed3\u679c\u843d\u5728\u5ba1\u6279\u4efb\u52a1\u8282\u70b9\u4e0a\uff0c\u4e0d\u53e6\u63d2 kind=return\uff1b\u4e0d\u505a\u540c\u5355\u591a\u8f6e", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203"}, {"id": "services_oa_engine_rationale_734", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L734"}, {"id": "services_oa_engine_rationale_894", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L894"}, {"id": "services_oa_engine_rationale_1328", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1328"}, {"id": "services_oa_engine_rationale_1443", "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u672c\u5355\u7ec8\u6001 returned\uff1b\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1443"}, {"id": "services_oa_engine_rationale_1525", "label": "\u5df2\u5e9f\u5f03\uff1a\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1525"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_node_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_next_task_order_num", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_terminal_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_round", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_append_pending_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_build_progress_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_instance_event", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L302", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L338", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_progress_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_enrich_list_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L477", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L485", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L576", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L591", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L599", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L725", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L775", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L844", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L885", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L955", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1070", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1198", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1319", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_return_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1435", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_resubmit_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1516", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1530", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51", "weight": 1.0}, {"source": "services_oa_engine_sort_tasks_for_detail", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115", "weight": 1.0}, {"source": "services_oa_engine_terminal_item", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_append_pending_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L252", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_terminal_item", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L315", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L329", "weight": 1.0}, {"source": "services_oa_engine_enrich_list_rows", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455", "weight": 1.0}, {"source": "services_oa_engine_enrich_list_rows", "target": "services_oa_engine_instance_progress_summary", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L464", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L520", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L533", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L580", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L592", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L612", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L614", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L685", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L737", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L738", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L762", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L768", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L785", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L796", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L808", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L813", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L895", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L895", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L911", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L916", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L930", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L945", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L972", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L973", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L978", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1001", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1039", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1046", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1056", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1066", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1071", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1086", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1086", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1089", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1095", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1100", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1103", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1108", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_build_progress_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1121", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1176", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_enrich_list_rows", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1177", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1182", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1209", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1223", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1235", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1272", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1310", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1310", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1311", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1314", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1335", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1341", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1352", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1380", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1432", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1450", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1456", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1467", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1502", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1513", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1527", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1533", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1535", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1543", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1561", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1569", "weight": 1.0}, {"source": "services_oa_engine_rationale_76", "target": "services_oa_engine_flow_node_key_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76", "weight": 1.0}, {"source": "services_oa_engine_rationale_101", "target": "services_oa_engine_next_task_order_num", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_engine_rationale_114", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114", "weight": 1.0}, {"source": "services_oa_engine_rationale_203", "target": "services_oa_engine_build_progress_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_engine_rationale_734", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L734", "weight": 1.0}, {"source": "services_oa_engine_rationale_894", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L894", "weight": 1.0}, {"source": "services_oa_engine_rationale_1328", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1328", "weight": 1.0}, {"source": "services_oa_engine_rationale_1443", "target": "services_oa_engine_return_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1443", "weight": 1.0}, {"source": "services_oa_engine_rationale_1525", "target": "services_oa_engine_resubmit_instance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1525", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L50"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L60"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L62"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L63"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_flow_node_key_order", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L107"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L108"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L134"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L136"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"caller_nid": "services_oa_engine_task_round", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L155"}, {"caller_nid": "services_oa_engine_task_round", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L179"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L207"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L213"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L235"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L242"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L251"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L259"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L261"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "OaInstanceEvent", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L298"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L304"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L305"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L307"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L334"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L351"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L372"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L374"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L378"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L381"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L383"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L384"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L387"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L387"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L389"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L391"}, {"caller_nid": "services_oa_engine_instance_progress_summary", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L415"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L419"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "keys", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L435"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L439"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L446"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L446"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L451"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L459"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L459"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L462"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L466"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L467"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L468"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L472"}, {"caller_nid": "services_oa_engine_enrich_list_rows", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L473"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L489"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L489"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L494"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L501"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L518"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L522"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L554"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L554"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L554"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L564"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L572"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L578"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L584"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L584"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L595"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L595"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L617"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L619"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L631"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L633"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L635"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L646"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L648"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L650"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L652"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L652"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L654"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L662"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L663"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L674"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L679"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L679"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L679"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L680"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L680"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L680"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L695"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L707"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L709"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L711"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L719"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L722"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L735"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L739"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L744"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L744"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L744"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L757"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L757"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L758"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L759"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L786"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L795"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L798"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L808"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L810"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L810"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L810"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L811"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L816"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L817"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L819"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L820"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L827"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L827"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L839"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L840"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L847"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L849"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L850"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L852"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L858"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L862"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L864"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L865"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L866"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L869"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L870"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L872"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L873"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L878"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L878"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L911"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L913"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L923"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L924"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L927"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L939"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L939"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L942"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L948"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L970"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L974"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L979"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L981"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L986"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L986"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L986"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L990"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L992"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L993"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L994"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L995"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1015"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1018"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1021"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1022"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1023"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1054"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1055"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1061"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1061"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1061"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1072"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1074"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1074"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1074"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1091"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1091"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1091"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1101"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1103"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1108"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1110"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1110"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1111"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1111"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1113"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1113"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1113"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1113"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1115"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1120"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1141"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1143"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1143"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1151"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1151"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1156"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1159"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1159"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1167"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1167"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1167"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1167"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1173"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1181"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1181"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1181"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1183"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1185"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1185"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1185"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1189"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1207"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1212"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1212"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1212"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1228"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1228"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1228"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1236"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1236"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1239"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1240"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1244"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1247"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1252"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1252"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1252"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1266"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1270"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1271"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1275"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1277"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1277"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1277"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1289"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1308"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1315"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1330"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1330"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1330"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1346"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1346"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1346"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1353"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1357"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1359"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1362"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1363"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1369"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1369"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1369"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1378"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1386"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1386"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1386"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1397"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1398"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1399"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1409"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1409"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1409"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1412"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1427"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1430"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1431"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1445"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1445"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1445"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1461"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1461"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1461"}, {"caller_nid": "services_oa_engine_return_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1468"}, {"caller_nid": "services_oa_engine_return_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1471"}, {"caller_nid": "services_oa_engine_return_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1475"}, {"caller_nid": "services_oa_engine_return_task", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1476"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1476"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1476"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1481"}, {"caller_nid": "services_oa_engine_return_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1484"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1484"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1484"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1496"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1501"}, {"caller_nid": "services_oa_engine_return_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1512"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1539"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1539"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1539"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1543"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1544"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1547"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1551"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1553"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1553"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1553"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1560"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1566"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1566"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1568"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/4a4f6d3ab85a5e63782ecbaa8dbcb6fa8af7a2706d71a4a3f061967fc3636633.json b/backend/app/graphify-out/cache/ast/4a4f6d3ab85a5e63782ecbaa8dbcb6fa8af7a2706d71a4a3f061967fc3636633.json new file mode 100644 index 00000000..c6704ccf --- /dev/null +++ b/backend/app/graphify-out/cache/ast/4a4f6d3ab85a5e63782ecbaa8dbcb6fa8af7a2706d71a4a3f061967fc3636633.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "label": "main.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L1"}, {"id": "app_main_lifespan", "label": "lifespan()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L20"}, {"id": "app_main_error_json", "label": "_error_json()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L67"}, {"id": "app_main_sqlalchemy_exception_handler", "label": "sqlalchemy_exception_handler()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L80"}, {"id": "app_main_unhandled_exception_handler", "label": "unhandled_exception_handler()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L91"}, {"id": "app_main_mask_secret", "label": "_mask_secret()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L138"}, {"id": "app_main_root", "label": "root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L160"}, {"id": "app_main_health_check", "label": "health_check()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L165"}, {"id": "app_main_rationale_81", "label": "\u6570\u636e\u5e93\u5f02\u5e38\uff1a\u8fd4\u56de JSON \u5e76\u4fdd\u7559 CORS \u5934\uff0c\u907f\u514d\u6d4f\u89c8\u5668\u53ea\u62a5\u8de8\u57df\u9519\u8bef", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L81"}, {"id": "app_main_rationale_92", "label": "\u672a\u6355\u83b7\u5f02\u5e38\uff1a\u7edf\u4e00 JSON 500\uff0c\u786e\u4fdd\u8de8\u57df\u573a\u666f\u4e0b\u4ecd\u6709 Access-Control-Allow-Origin", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L92"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "contextlib", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "fastapi_middleware_cors", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "fastapi_responses", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "sqlalchemy_exc", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_core_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_core_api_request_log_middleware", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_core_api_crypto_middleware", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_api", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_lifespan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_error_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L67", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_sqlalchemy_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L80", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_unhandled_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_mask_secret", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_main_py", "target": "app_main_health_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L165", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "app_main_error_json", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L87", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "app_main_error_json", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L98", "weight": 1.0}, {"source": "app_main_rationale_81", "target": "app_main_sqlalchemy_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L81", "weight": 1.0}, {"source": "app_main_rationale_92", "target": "app_main_unhandled_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L92", "weight": 1.0}], "raw_calls": [{"caller_nid": "app_main_lifespan", "callee": "ensure_initialized", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L24"}, {"caller_nid": "app_main_lifespan", "callee": "init_scheduled_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L29"}, {"caller_nid": "app_main_lifespan", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L31"}, {"caller_nid": "app_main_lifespan", "callee": "shutdown_scheduler", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L38"}, {"caller_nid": "app_main_error_json", "callee": "JSONResponse", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L68"}, {"caller_nid": "app_main_error_json", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L74"}, {"caller_nid": "app_main_error_json", "callee": "timestamp", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L74"}, {"caller_nid": "app_main_error_json", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L74"}, {"caller_nid": "app_main_sqlalchemy_exception_handler", "callee": "exception", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L82"}, {"caller_nid": "app_main_sqlalchemy_exception_handler", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L84"}, {"caller_nid": "app_main_unhandled_exception_handler", "callee": "exception", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L93"}, {"caller_nid": "app_main_unhandled_exception_handler", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L95"}, {"caller_nid": "app_main_mask_secret", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L141"}, {"caller_nid": "app_main_mask_secret", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/main.py", "source_location": "L142"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/4eb08c9586e788aa63a3795abf2b0d63c74b50f65fc12a3e1aa2bdb9fbc0ed09.json b/backend/app/graphify-out/cache/ast/4eb08c9586e788aa63a3795abf2b0d63c74b50f65fc12a3e1aa2bdb9fbc0ed09.json new file mode 100644 index 00000000..f8ed3d29 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/4eb08c9586e788aa63a3795abf2b0d63c74b50f65fc12a3e1aa2bdb9fbc0ed09.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "label": "user.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L1"}, {"id": "crud_user_hash_password", "label": "_hash_password()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L18"}, {"id": "crud_user_usercrudcompat", "label": "_UserCRUDCompat", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L22"}, {"id": "crud_user_usercrudcompat_get_by_user_no", "label": ".get_by_user_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L23"}, {"id": "crud_user_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L38"}, {"id": "crud_user_list_users", "label": "list_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L59"}, {"id": "crud_user_get_user", "label": "get_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L110"}, {"id": "crud_user_list_post_ids_for_user", "label": "list_post_ids_for_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L118"}, {"id": "crud_user_set_user_post_ids_only", "label": "set_user_post_ids_only()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L128"}, {"id": "crud_user_list_user_ids_bound_to_post", "label": "list_user_ids_bound_to_post()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L160"}, {"id": "crud_user_sync_post_user_bindings", "label": "sync_post_user_bindings()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L175"}, {"id": "crud_user_get_user_with_relations", "label": "get_user_with_relations()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L203"}, {"id": "crud_user_user_no_exists", "label": "user_no_exists()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L228"}, {"id": "crud_user_replace_associations", "label": "_replace_associations()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L237"}, {"id": "crud_user_create_user", "label": "create_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L288"}, {"id": "crud_user_update_user", "label": "update_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L349"}, {"id": "crud_user_soft_delete_user", "label": "soft_delete_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L407"}, {"id": "crud_user_reset_password", "label": "reset_password()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L417"}, {"id": "crud_user_change_password", "label": "change_password()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L427"}, {"id": "crud_user_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L446"}, {"id": "crud_user_rationale_1", "label": "\u7528\u6237 CRUD\uff08sys_user + sys_user_role + sys_user_post\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L1"}, {"id": "crud_user_rationale_135", "label": "\u4ec5\u66ff\u6362 sys_user_post\uff0c\u4e0d\u5f71\u54cd sys_user_role\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L135"}, {"id": "crud_user_rationale_182", "label": "\u5c06\u672c\u804c\u4f4d\u7ed1\u5b9a\u7684\u7528\u6237\u96c6\u5408\u8bbe\u4e3a user_ids\uff08\u53ea\u589e\u5220\u672c\u804c\u4f4d\uff0c\u4fdd\u7559\u7528\u6237\u5176\u5b83\u804c\u4f4d\u4e0e\u89d2\u8272\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L182"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "math", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "bcrypt", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "app_core_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "app_crud_base", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_hash_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_usercrudcompat", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L22", "weight": 1.0}, {"source": "crud_user_usercrudcompat", "target": "crud_user_usercrudcompat_get_by_user_no", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_list_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_get_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L110", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_list_post_ids_for_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L118", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_set_user_post_ids_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L128", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_list_user_ids_bound_to_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_sync_post_user_bindings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L175", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_get_user_with_relations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L203", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_user_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L228", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_replace_associations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L237", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_create_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L288", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_update_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L349", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_soft_delete_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L407", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_reset_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L417", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_change_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L427", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "target": "crud_user_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L446", "weight": 1.0}, {"source": "crud_user_list_users", "target": "crud_user_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L107", "weight": 1.0}, {"source": "crud_user_sync_post_user_bindings", "target": "crud_user_get_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L185", "weight": 1.0}, {"source": "crud_user_sync_post_user_bindings", "target": "crud_user_list_user_ids_bound_to_post", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L189", "weight": 1.0}, {"source": "crud_user_sync_post_user_bindings", "target": "crud_user_list_post_ids_for_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L196", "weight": 1.0}, {"source": "crud_user_sync_post_user_bindings", "target": "crud_user_set_user_post_ids_only", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L199", "weight": 1.0}, {"source": "crud_user_get_user_with_relations", "target": "crud_user_get_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L204", "weight": 1.0}, {"source": "crud_user_get_user_with_relations", "target": "crud_user_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L214", "weight": 1.0}, {"source": "crud_user_get_user_with_relations", "target": "crud_user_list_post_ids_for_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L222", "weight": 1.0}, {"source": "crud_user_create_user", "target": "crud_user_hash_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L328", "weight": 1.0}, {"source": "crud_user_create_user", "target": "crud_user_replace_associations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L344", "weight": 1.0}, {"source": "crud_user_update_user", "target": "crud_user_get_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L367", "weight": 1.0}, {"source": "crud_user_update_user", "target": "crud_user_replace_associations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L397", "weight": 1.0}, {"source": "crud_user_soft_delete_user", "target": "crud_user_get_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L408", "weight": 1.0}, {"source": "crud_user_reset_password", "target": "crud_user_get_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L418", "weight": 1.0}, {"source": "crud_user_reset_password", "target": "crud_user_hash_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L421", "weight": 1.0}, {"source": "crud_user_change_password", "target": "crud_user_get_user", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L430", "weight": 1.0}, {"source": "crud_user_change_password", "target": "crud_user_hash_password", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L439", "weight": 1.0}, {"source": "crud_user_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_crud_user_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L1", "weight": 1.0}, {"source": "crud_user_rationale_135", "target": "crud_user_set_user_post_ids_only", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L135", "weight": 1.0}, {"source": "crud_user_rationale_182", "target": "crud_user_sync_post_user_bindings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L182", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_user_hash_password", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L19"}, {"caller_nid": "crud_user_hash_password", "callee": "hashpw", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L19"}, {"caller_nid": "crud_user_hash_password", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L19"}, {"caller_nid": "crud_user_hash_password", "callee": "gensalt", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L19"}, {"caller_nid": "crud_user_usercrudcompat_get_by_user_no", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L25"}, {"caller_nid": "crud_user_usercrudcompat_get_by_user_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L29"}, {"caller_nid": "crud_user_usercrudcompat_get_by_user_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L29"}, {"caller_nid": "crud_user_usercrudcompat_get_by_user_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L29"}, {"caller_nid": "crud_user_usercrudcompat_get_by_user_no", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L30"}, {"caller_nid": "crud_user_row_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L42"}, {"caller_nid": "crud_user_row_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L53"}, {"caller_nid": "crud_user_row_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L54"}, {"caller_nid": "crud_user_list_users", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L89"}, {"caller_nid": "crud_user_list_users", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L89"}, {"caller_nid": "crud_user_list_users", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L89"}, {"caller_nid": "crud_user_list_users", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L89"}, {"caller_nid": "crud_user_list_users", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L89"}, {"caller_nid": "crud_user_list_users", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L90"}, {"caller_nid": "crud_user_list_users", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L91"}, {"caller_nid": "crud_user_list_users", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L91"}, {"caller_nid": "crud_user_list_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L93"}, {"caller_nid": "crud_user_list_users", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L93"}, {"caller_nid": "crud_user_list_users", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L93"}, {"caller_nid": "crud_user_list_users", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L93"}, {"caller_nid": "crud_user_list_users", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L93"}, {"caller_nid": "crud_user_list_users", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L94"}, {"caller_nid": "crud_user_list_users", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L101"}, {"caller_nid": "crud_user_list_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L104"}, {"caller_nid": "crud_user_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L104"}, {"caller_nid": "crud_user_list_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L104"}, {"caller_nid": "crud_user_list_users", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L104"}, {"caller_nid": "crud_user_list_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L107"}, {"caller_nid": "crud_user_list_users", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L107"}, {"caller_nid": "crud_user_get_user", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L112"}, {"caller_nid": "crud_user_get_user", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L112"}, {"caller_nid": "crud_user_get_user", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L112"}, {"caller_nid": "crud_user_get_user", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L113"}, {"caller_nid": "crud_user_list_post_ids_for_user", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L122"}, {"caller_nid": "crud_user_list_post_ids_for_user", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L122"}, {"caller_nid": "crud_user_list_post_ids_for_user", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L122"}, {"caller_nid": "crud_user_list_post_ids_for_user", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L123"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L136"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "fromkeys", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L137"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L138"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L138"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L138"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L139"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L142"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "SysUserPost", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L143"}, {"caller_nid": "crud_user_set_user_post_ids_only", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L144"}, {"caller_nid": "crud_user_list_user_ids_bound_to_post", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L162"}, {"caller_nid": "crud_user_list_user_ids_bound_to_post", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L162"}, {"caller_nid": "crud_user_list_user_ids_bound_to_post", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L162"}, {"caller_nid": "crud_user_list_user_ids_bound_to_post", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L164"}, {"caller_nid": "crud_user_sync_post_user_bindings", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L183"}, {"caller_nid": "crud_user_sync_post_user_bindings", "callee": "fromkeys", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L183"}, {"caller_nid": "crud_user_sync_post_user_bindings", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L187"}, {"caller_nid": "crud_user_sync_post_user_bindings", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L189"}, {"caller_nid": "crud_user_sync_post_user_bindings", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L190"}, {"caller_nid": "crud_user_sync_post_user_bindings", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L200"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L210"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L210"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L210"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L218"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L218"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L218"}, {"caller_nid": "crud_user_get_user_with_relations", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L219"}, {"caller_nid": "crud_user_user_no_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L229"}, {"caller_nid": "crud_user_user_no_exists", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L229"}, {"caller_nid": "crud_user_user_no_exists", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L230"}, {"caller_nid": "crud_user_user_no_exists", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L230"}, {"caller_nid": "crud_user_user_no_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L233"}, {"caller_nid": "crud_user_user_no_exists", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L234"}, {"caller_nid": "crud_user_replace_associations", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L245"}, {"caller_nid": "crud_user_replace_associations", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L246"}, {"caller_nid": "crud_user_replace_associations", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L246"}, {"caller_nid": "crud_user_replace_associations", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L246"}, {"caller_nid": "crud_user_replace_associations", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L247"}, {"caller_nid": "crud_user_replace_associations", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L249"}, {"caller_nid": "crud_user_replace_associations", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L249"}, {"caller_nid": "crud_user_replace_associations", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L249"}, {"caller_nid": "crud_user_replace_associations", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L250"}, {"caller_nid": "crud_user_replace_associations", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L255"}, {"caller_nid": "crud_user_replace_associations", "callee": "SysUserRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L255"}, {"caller_nid": "crud_user_replace_associations", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L256"}, {"caller_nid": "crud_user_replace_associations", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L272"}, {"caller_nid": "crud_user_replace_associations", "callee": "SysUserPost", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L272"}, {"caller_nid": "crud_user_replace_associations", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L273"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L308"}, {"caller_nid": "crud_user_create_user", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L310"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L311"}, {"caller_nid": "crud_user_create_user", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L313"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L314"}, {"caller_nid": "crud_user_create_user", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L316"}, {"caller_nid": "crud_user_create_user", "callee": "SysUser", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L318"}, {"caller_nid": "crud_user_create_user", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L319"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L321"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L324"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L325"}, {"caller_nid": "crud_user_create_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L332"}, {"caller_nid": "crud_user_create_user", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L335"}, {"caller_nid": "crud_user_create_user", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L337"}, {"caller_nid": "crud_user_create_user", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L340"}, {"caller_nid": "crud_user_create_user", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L341"}, {"caller_nid": "crud_user_create_user", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L342"}, {"caller_nid": "crud_user_create_user", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L345"}, {"caller_nid": "crud_user_update_user", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L369"}, {"caller_nid": "crud_user_update_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L372"}, {"caller_nid": "crud_user_update_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L376"}, {"caller_nid": "crud_user_update_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L378"}, {"caller_nid": "crud_user_update_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L380"}, {"caller_nid": "crud_user_update_user", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L390"}, {"caller_nid": "crud_user_update_user", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L393"}, {"caller_nid": "crud_user_update_user", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L394"}, {"caller_nid": "crud_user_update_user", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L402"}, {"caller_nid": "crud_user_update_user", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L403"}, {"caller_nid": "crud_user_soft_delete_user", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L410"}, {"caller_nid": "crud_user_soft_delete_user", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L412"}, {"caller_nid": "crud_user_soft_delete_user", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L413"}, {"caller_nid": "crud_user_soft_delete_user", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L414"}, {"caller_nid": "crud_user_reset_password", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L420"}, {"caller_nid": "crud_user_reset_password", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L422"}, {"caller_nid": "crud_user_reset_password", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L423"}, {"caller_nid": "crud_user_reset_password", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L424"}, {"caller_nid": "crud_user_change_password", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L432"}, {"caller_nid": "crud_user_change_password", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L433"}, {"caller_nid": "crud_user_change_password", "callee": "verify_password", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L434"}, {"caller_nid": "crud_user_change_password", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L435"}, {"caller_nid": "crud_user_change_password", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L436"}, {"caller_nid": "crud_user_change_password", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L437"}, {"caller_nid": "crud_user_change_password", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L438"}, {"caller_nid": "crud_user_change_password", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L441"}, {"caller_nid": "crud_user_change_password", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L442"}, {"caller_nid": "crud_user_change_password", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L443"}, {"caller_nid": "crud_user_total_pages", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L449"}, {"caller_nid": "crud_user_total_pages", "callee": "ceil", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L449"}, {"caller_nid": "crud_user_total_pages", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/user.py", "source_location": "L449"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/53d21d863787e052c449ced5a0c5e92414d73b4ae21f7450f522fb369309dddb.json b/backend/app/graphify-out/cache/ast/53d21d863787e052c449ced5a0c5e92414d73b4ae21f7450f522fb369309dddb.json new file mode 100644 index 00000000..4d962696 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/53d21d863787e052c449ced5a0c5e92414d73b4ae21f7450f522fb369309dddb.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_flow_node_key_order", "label": "_flow_node_key_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_next_task_order_num", "label": "_next_task_order_num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L91"}, {"id": "services_oa_engine_sort_tasks_for_detail", "label": "_sort_tasks_for_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L102"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L155"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L173"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L244"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L421"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L539"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L580"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L650"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L741"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L795"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L845"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L966"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1081"}, {"id": "services_oa_engine_rationale_67", "label": "\u6309\u6d41\u7a0b\u6811\u5148\u5e8f\u904d\u5386\u4e3a node.id \u5206\u914d\u7a33\u5b9a\u5e8f\u53f7\uff08\u7528\u4e8e\u8be6\u60c5\u65f6\u95f4\u8f74\u6392\u5e8f\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67"}, {"id": "services_oa_engine_rationale_92", "label": "\u540c\u4e00\u5b9e\u4f8b\u5185\u4efb\u52a1\u5c55\u793a\u5e8f\u53f7\u53d6 max+1\uff08\u65e0\u4efb\u52a1\u4ece 1 \u8d77\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L92"}, {"id": "services_oa_engine_rationale_105", "label": "\u8be6\u60c5\u65f6\u95f4\u8f74\uff1a\u6309\u6d41\u7a0b\u6811\u8282\u70b9\u987a\u5e8f\uff0c\u518d order_num / create_time\uff08\u517c\u5bb9\u65e7\u6570\u636e\u540c\u79d2\u521b\u5efa\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L105"}, {"id": "services_oa_engine_rationale_430", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"id": "services_oa_engine_rationale_589", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L589"}, {"id": "services_oa_engine_rationale_975", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L975"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_node_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_next_task_order_num", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L244", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L539", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L580", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L650", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L741", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L795", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L845", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L966", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1081", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_sort_tasks_for_detail", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L106", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L134", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L136", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L148", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L194", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L229", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L231", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L276", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L288", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L308", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L310", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L381", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L433", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L434", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L464", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L492", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L504", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L509", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L590", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L590", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L606", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L625", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L640", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L664", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L670", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L692", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L738", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L748", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L753", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L768", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L768", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L771", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L777", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L782", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L785", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L790", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L837", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L839", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L842", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L870", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L882", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L919", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L957", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L957", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L958", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L961", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L982", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L988", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L999", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1027", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1078", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1084", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1086", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1094", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1113", "weight": 1.0}, {"source": "services_oa_engine_rationale_67", "target": "services_oa_engine_flow_node_key_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_rationale_92", "target": "services_oa_engine_next_task_order_num", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L92", "weight": 1.0}, {"source": "services_oa_engine_rationale_105", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L105", "weight": 1.0}, {"source": "services_oa_engine_rationale_430", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430", "weight": 1.0}, {"source": "services_oa_engine_rationale_589", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L589", "weight": 1.0}, {"source": "services_oa_engine_rationale_975", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L975", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_flow_node_key_order", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L87"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L94"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L94"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L94"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L98"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L99"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L106"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L123"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L124"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L125"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L150"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L151"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L168"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L169"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L174"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L174"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L177"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L177"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L177"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L177"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L185"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L185"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L190"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L197"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L218"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L251"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L254"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L260"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L268"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L273"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L273"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L273"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L274"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L283"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L291"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L291"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L307"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L313"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L315"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L323"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L327"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L329"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L344"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L346"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L348"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L348"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L350"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L358"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L359"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L370"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L374"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L376"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L376"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L376"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L391"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L402"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L403"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L407"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L415"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L418"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L435"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L448"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L453"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L453"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L482"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L494"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L504"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L507"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L512"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L513"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L534"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L544"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L545"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L547"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L557"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L560"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L564"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L565"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L567"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L568"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L573"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L573"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L606"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L608"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L618"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L619"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L622"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L634"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L634"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L637"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L643"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L662"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L666"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L671"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L673"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L682"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L684"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L685"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L686"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L704"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L707"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L710"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L711"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L712"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L736"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L737"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L743"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L743"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L743"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L754"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L761"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L761"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L761"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L783"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L785"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L790"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L791"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L791"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L804"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L804"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L812"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L812"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L817"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L820"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L820"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L828"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L828"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L828"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L828"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L834"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L841"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L841"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L841"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L854"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L859"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L859"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L859"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L875"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L875"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L875"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L883"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L883"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L886"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L887"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L891"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L894"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L899"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L899"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L899"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L913"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L917"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L918"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L922"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L924"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L924"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L924"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L936"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L942"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L942"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L942"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L955"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L962"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L993"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L993"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L993"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1000"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1004"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1006"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1009"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1010"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1016"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1016"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1016"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1025"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1033"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1033"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1033"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1045"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1046"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1058"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1073"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1076"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1077"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1094"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1095"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1098"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1102"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1111"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1112"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/658041b1206e5bbc476638928729cec1262929622e14098e7f5f4e5167d94711.json b/backend/app/graphify-out/cache/ast/658041b1206e5bbc476638928729cec1262929622e14098e7f5f4e5167d94711.json new file mode 100644 index 00000000..206e94c0 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/658041b1206e5bbc476638928729cec1262929622e14098e7f5f4e5167d94711.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L1"}, {"id": "api_oa_approval_get_tenant_no", "label": "_get_tenant_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17"}, {"id": "api_oa_approval_oarolecreatebody", "label": "OaRoleCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_oa_approval_oaroleupdatebody", "label": "OaRoleUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43"}, {"id": "api_oa_approval_oaroleusersbody", "label": "OaRoleUsersBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51"}, {"id": "api_oa_approval_list_oa_roles", "label": "list_oa_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57"}, {"id": "api_oa_approval_ensure_oa_role_presets", "label": "ensure_oa_role_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69"}, {"id": "api_oa_approval_create_oa_role", "label": "create_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82"}, {"id": "api_oa_approval_update_oa_role", "label": "update_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105"}, {"id": "api_oa_approval_delete_oa_role", "label": "delete_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130"}, {"id": "api_oa_approval_list_oa_role_users", "label": "list_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144"}, {"id": "api_oa_approval_replace_oa_role_users", "label": "replace_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156"}, {"id": "api_oa_approval_oagroupcreatebody", "label": "OaGroupCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184"}, {"id": "api_oa_approval_oagroupupdatebody", "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191"}, {"id": "api_oa_approval_list_oa_groups", "label": "list_oa_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199"}, {"id": "api_oa_approval_create_oa_group", "label": "create_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208"}, {"id": "api_oa_approval_update_oa_group", "label": "update_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229"}, {"id": "api_oa_approval_delete_oa_group", "label": "delete_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253"}, {"id": "api_oa_approval_oaappcreatebody", "label": "OaAppCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271"}, {"id": "api_oa_approval_oaappupdatebody", "label": "OaAppUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286"}, {"id": "api_oa_approval_oadraftsavebody", "label": "OaDraftSaveBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301"}, {"id": "api_oa_approval_list_oa_apps", "label": "list_oa_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310"}, {"id": "api_oa_approval_create_oa_app", "label": "create_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325"}, {"id": "api_oa_approval_update_oa_app", "label": "update_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361"}, {"id": "api_oa_approval_delete_oa_app", "label": "delete_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381"}, {"id": "api_oa_approval_get_oa_app_draft", "label": "get_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395"}, {"id": "api_oa_approval_save_oa_app_draft", "label": "save_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411"}, {"id": "api_oa_approval_publish_oa_app", "label": "publish_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435"}, {"id": "api_oa_approval_oastartinstancebody", "label": "OaStartInstanceBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456"}, {"id": "api_oa_approval_oataskactionbody", "label": "OaTaskActionBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L467"}, {"id": "api_oa_approval_oaaddsignbody", "label": "OaAddSignBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472"}, {"id": "api_oa_approval_oaresubmitbody", "label": "OaResubmitBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478"}, {"id": "api_oa_approval_list_oa_templates", "label": "list_oa_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L485"}, {"id": "api_oa_approval_get_oa_template", "label": "get_oa_template()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L497"}, {"id": "api_oa_approval_preview_oa_template_flow", "label": "preview_oa_template_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L518"}, {"id": "api_oa_approval_start_oa_instance", "label": "start_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L552"}, {"id": "api_oa_approval_get_oa_instance", "label": "get_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L579"}, {"id": "api_oa_approval_list_oa_tasks", "label": "list_oa_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L594"}, {"id": "api_oa_approval_approve_oa_task", "label": "approve_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L612"}, {"id": "api_oa_approval_reject_oa_task", "label": "reject_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L636"}, {"id": "api_oa_approval_return_oa_task", "label": "return_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L660"}, {"id": "api_oa_approval_resubmit_oa_instance", "label": "resubmit_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L683"}, {"id": "api_oa_approval_add_sign_oa_task", "label": "add_sign_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L707"}, {"id": "api_oa_approval_withdraw_oa_instance", "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L731"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oarolecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "api_oa_approval_oarolecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "api_oa_approval_oaroleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleusersbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "api_oa_approval_oaroleusersbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_ensure_oa_role_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_replace_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "api_oa_approval_oagroupcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "api_oa_approval_oagroupupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "api_oa_approval_oaappcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "api_oa_approval_oaappupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oadraftsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "api_oa_approval_oadraftsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_save_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_publish_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oastartinstancebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "api_oa_approval_oastartinstancebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oataskactionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L467", "weight": 1.0}, {"source": "api_oa_approval_oataskactionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaaddsignbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472", "weight": 1.0}, {"source": "api_oa_approval_oaaddsignbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaresubmitbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478", "weight": 1.0}, {"source": "api_oa_approval_oaresubmitbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L485", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L497", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_preview_oa_template_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L518", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_start_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L552", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L594", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_approve_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L612", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_reject_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L636", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_return_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L660", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_resubmit_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L683", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_add_sign_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L707", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_withdraw_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L731", "weight": 1.0}, {"source": "api_oa_approval_list_oa_roles", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "api_oa_approval_ensure_oa_role_presets", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L73", "weight": 1.0}, {"source": "api_oa_approval_create_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L88", "weight": 1.0}, {"source": "api_oa_approval_update_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L112", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L136", "weight": 1.0}, {"source": "api_oa_approval_list_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L149", "weight": 1.0}, {"source": "api_oa_approval_replace_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L163", "weight": 1.0}, {"source": "api_oa_approval_list_oa_groups", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L203", "weight": 1.0}, {"source": "api_oa_approval_create_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L214", "weight": 1.0}, {"source": "api_oa_approval_update_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L236", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L259", "weight": 1.0}, {"source": "api_oa_approval_list_oa_apps", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L317", "weight": 1.0}, {"source": "api_oa_approval_create_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L331", "weight": 1.0}, {"source": "api_oa_approval_update_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L368", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L387", "weight": 1.0}, {"source": "api_oa_approval_get_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L401", "weight": 1.0}, {"source": "api_oa_approval_save_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L418", "weight": 1.0}, {"source": "api_oa_approval_publish_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L442", "weight": 1.0}, {"source": "api_oa_approval_list_oa_templates", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L491", "weight": 1.0}, {"source": "api_oa_approval_get_oa_template", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L505", "weight": 1.0}, {"source": "api_oa_approval_preview_oa_template_flow", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L528", "weight": 1.0}, {"source": "api_oa_approval_start_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L560", "weight": 1.0}, {"source": "api_oa_approval_get_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L587", "weight": 1.0}, {"source": "api_oa_approval_list_oa_tasks", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L602", "weight": 1.0}, {"source": "api_oa_approval_approve_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L621", "weight": 1.0}, {"source": "api_oa_approval_reject_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L645", "weight": 1.0}, {"source": "api_oa_approval_return_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L669", "weight": 1.0}, {"source": "api_oa_approval_resubmit_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L692", "weight": 1.0}, {"source": "api_oa_approval_add_sign_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L716", "weight": 1.0}, {"source": "api_oa_approval_withdraw_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L739", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_oa_approval_get_tenant_no", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L21"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "list_roles", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L64"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L65"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "ensure_presets", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L75"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L76"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "create_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L89"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L97"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L113"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "update_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L114"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L118"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L119"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L120"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L121"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L122"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "delete_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L138"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "get_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L150"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L151"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "replace_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L164"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L169"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L171"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L172"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "list_groups", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "create_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L215"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L221"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L237"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "update_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L238"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L242"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L243"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L244"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L245"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "delete_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L261"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "list_apps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L318"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L321"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "create_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L332"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L346"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L350"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L352"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L353"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L369"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "update_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L373"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "delete_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L389"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L402"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L403"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L405"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "save_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L419"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L427"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L429"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "publish_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L443"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L444"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L447"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L448"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "list_templates", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L492"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L492"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L493"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get_template_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L506"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L510"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L512"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L514"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L514"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L529"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L532"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L532"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L532"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L537"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "split", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L537"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L537"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "preview_start_flow", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L538"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L546"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L548"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L548"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "start_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L561"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L565"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L573"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L575"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L575"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L588"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "get_instance_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L588"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L590"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L590"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L603"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L604"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L606"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L608"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L608"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L622"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L626"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L630"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L632"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L632"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L646"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L650"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L654"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L656"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L656"}, {"caller_nid": "api_oa_approval_return_oa_task", "callee": "return_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L670"}, {"caller_nid": "api_oa_approval_return_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L674"}, {"caller_nid": "api_oa_approval_return_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L677"}, {"caller_nid": "api_oa_approval_return_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L679"}, {"caller_nid": "api_oa_approval_return_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L679"}, {"caller_nid": "api_oa_approval_resubmit_oa_instance", "callee": "resubmit_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L693"}, {"caller_nid": "api_oa_approval_resubmit_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L697"}, {"caller_nid": "api_oa_approval_resubmit_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L701"}, {"caller_nid": "api_oa_approval_resubmit_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L703"}, {"caller_nid": "api_oa_approval_resubmit_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L703"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "add_sign", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L717"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L721"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L725"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L727"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L727"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "withdraw_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L740"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L741"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L743"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L745"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L745"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/69e06061a9b956800fac7d1d6f7bfee0c0e845ea186523045870831354e07228.json b/backend/app/graphify-out/cache/ast/69e06061a9b956800fac7d1d6f7bfee0c0e845ea186523045870831354e07228.json new file mode 100644 index 00000000..3278310d --- /dev/null +++ b/backend/app/graphify-out/cache/ast/69e06061a9b956800fac7d1d6f7bfee0c0e845ea186523045870831354e07228.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "label": "oa_publish.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L1"}, {"id": "services_oa_publish_extract_rules", "label": "_extract_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L72"}, {"id": "services_oa_publish_walk_form_rules", "label": "_walk_form_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L87"}, {"id": "services_oa_publish_count_fillable_fields", "label": "count_fillable_fields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L95"}, {"id": "services_oa_publish_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L109"}, {"id": "services_oa_publish_validate_flow_tree", "label": "validate_flow_tree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L113"}, {"id": "services_oa_publish_validate_oa_roles_referenced", "label": "validate_oa_roles_referenced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L200"}, {"id": "services_oa_publish_validate_draft_for_publish", "label": "validate_draft_for_publish()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L269"}, {"id": "services_oa_publish_publish_app", "label": "publish_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L291"}, {"id": "services_oa_publish_rationale_298", "label": "\u6821\u9a8c\u5e76\u53d1\u5e03\u5f53\u524d\u8349\u7a3f\u3002 \u6210\u529f\u8fd4\u56de (draft_dict_like_published_info, [])\uff1b \u5931\u8d25\u8fd4\u56de ({}, errors)\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L298"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_extract_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L72", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_walk_form_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L87", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_count_fillable_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L95", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_flow_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L113", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_oa_roles_referenced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L200", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_draft_for_publish", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L269", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_publish_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L291", "weight": 1.0}, {"source": "services_oa_publish_count_fillable_fields", "target": "services_oa_publish_walk_form_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L97", "weight": 1.0}, {"source": "services_oa_publish_count_fillable_fields", "target": "services_oa_publish_extract_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L97", "weight": 1.0}, {"source": "services_oa_publish_validate_flow_tree", "target": "services_oa_publish_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L123", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_count_fillable_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L284", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_flow_tree", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L286", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_oa_roles_referenced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L287", "weight": 1.0}, {"source": "services_oa_publish_publish_app", "target": "services_oa_publish_validate_draft_for_publish", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L312", "weight": 1.0}, {"source": "services_oa_publish_rationale_298", "target": "services_oa_publish_publish_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L298", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L75"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L76"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L77"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L78"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L78"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L78"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L79"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L80"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L89"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L90"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L90"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L90"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L91"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L92"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L100"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L100"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L103"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L103"}, {"caller_nid": "services_oa_publish_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L110"}, {"caller_nid": "services_oa_publish_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L110"}, {"caller_nid": "services_oa_publish_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L110"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L115"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L120"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L124"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L194"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L194"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L196"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L203"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L204"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L227"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L227"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L227"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "collect", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L229"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L229"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L234"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L234"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L234"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L236"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L236"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L244"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L246"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L248"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L251"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L251"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L251"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L253"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L253"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L259"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L261"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L263"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L265"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L279"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L280"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L280"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L285"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L286"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L287"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L303"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L306"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L309"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L310"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L311"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L317"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "_find_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L322"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L330"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L332"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L332"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L332"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L345"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L351"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L354"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L355"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L356"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/70c0726ecc7952b506e4b8951ab2cdff56bef53553dbde1c16c0bdb85235bcb3.json b/backend/app/graphify-out/cache/ast/70c0726ecc7952b506e4b8951ab2cdff56bef53553dbde1c16c0bdb85235bcb3.json new file mode 100644 index 00000000..1d1dc331 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/70c0726ecc7952b506e4b8951ab2cdff56bef53553dbde1c16c0bdb85235bcb3.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L117"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L253"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L319"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L410"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L421"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L441"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L606"}, {"id": "services_oa_engine_rationale_262", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L262"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L319", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L410", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L441", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L606", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L167", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L179", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L296", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L309", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L334", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L361", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L407", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L417", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L422", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L435", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L483", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L485", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L488", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L502", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L528", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L597", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L597", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L598", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L601", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L609", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L619", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638", "weight": 1.0}, {"source": "services_oa_engine_rationale_262", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L262", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L69"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L70"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L71"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L95"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L112"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L113"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L133"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L157"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L166"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L169"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L179"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L182"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L186"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L187"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L189"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L190"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L207"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L215"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L218"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L220"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L226"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L230"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L233"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L234"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L237"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L238"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L240"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L241"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L246"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L281"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L289"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L290"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L293"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L335"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L340"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L347"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L347"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L347"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L351"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L353"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L354"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L355"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L358"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L373"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L376"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L379"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L381"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L406"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L412"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L412"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L412"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L423"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L427"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L448"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L466"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L466"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L474"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L474"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L474"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L474"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L480"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L500"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L505"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L505"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L505"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L529"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L529"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L532"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L533"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L560"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L564"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L577"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L595"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L602"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L615"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L619"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L620"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L623"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L636"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L637"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/a074ddca26dfb7246db13b3167caecf1d99d12552e0d864163fe6330742d87b8.json b/backend/app/graphify-out/cache/ast/a074ddca26dfb7246db13b3167caecf1d99d12552e0d864163fe6330742d87b8.json new file mode 100644 index 00000000..98b97939 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/a074ddca26dfb7246db13b3167caecf1d99d12552e0d864163fe6330742d87b8.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "label": "oa_publish.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L1"}, {"id": "services_oa_publish_extract_rules", "label": "_extract_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L76"}, {"id": "services_oa_publish_walk_form_rules", "label": "_walk_form_rules()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L91"}, {"id": "services_oa_publish_count_fillable_fields", "label": "count_fillable_fields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L99"}, {"id": "services_oa_publish_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L113"}, {"id": "services_oa_publish_validate_flow_tree", "label": "validate_flow_tree()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L117"}, {"id": "services_oa_publish_validate_oa_roles_referenced", "label": "validate_oa_roles_referenced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L204"}, {"id": "services_oa_publish_validate_control_types", "label": "validate_control_types()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L273"}, {"id": "services_oa_publish_validate_draft_for_publish", "label": "validate_draft_for_publish()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L289"}, {"id": "services_oa_publish_publish_app", "label": "publish_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L312"}, {"id": "services_oa_publish_rationale_319", "label": "\u6821\u9a8c\u5e76\u53d1\u5e03\u5f53\u524d\u8349\u7a3f\u3002 \u6210\u529f\u8fd4\u56de (draft_dict_like_published_info, [])\uff1b \u5931\u8d25\u8fd4\u56de ({}, errors)\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L319"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_extract_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L76", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_walk_form_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_count_fillable_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L99", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L113", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_flow_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_oa_roles_referenced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L204", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_control_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L273", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_validate_draft_for_publish", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L289", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_publish_py", "target": "services_oa_publish_publish_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L312", "weight": 1.0}, {"source": "services_oa_publish_count_fillable_fields", "target": "services_oa_publish_walk_form_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_publish_count_fillable_fields", "target": "services_oa_publish_extract_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_publish_validate_flow_tree", "target": "services_oa_publish_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L127", "weight": 1.0}, {"source": "services_oa_publish_validate_control_types", "target": "services_oa_publish_walk_form_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L275", "weight": 1.0}, {"source": "services_oa_publish_validate_control_types", "target": "services_oa_publish_extract_rules", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L275", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_count_fillable_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L304", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_control_types", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L306", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_flow_tree", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L307", "weight": 1.0}, {"source": "services_oa_publish_validate_draft_for_publish", "target": "services_oa_publish_validate_oa_roles_referenced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L308", "weight": 1.0}, {"source": "services_oa_publish_publish_app", "target": "services_oa_publish_validate_draft_for_publish", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L333", "weight": 1.0}, {"source": "services_oa_publish_rationale_319", "target": "services_oa_publish_publish_app", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L319", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L79"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L80"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L81"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L82"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L83"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L84"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L86"}, {"caller_nid": "services_oa_publish_extract_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L86"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L93"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L94"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L94"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L94"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L95"}, {"caller_nid": "services_oa_publish_walk_form_rules", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L96"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L104"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L104"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L107"}, {"caller_nid": "services_oa_publish_count_fillable_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L107"}, {"caller_nid": "services_oa_publish_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L114"}, {"caller_nid": "services_oa_publish_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L114"}, {"caller_nid": "services_oa_publish_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L114"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L119"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L124"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L128"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L198"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L198"}, {"caller_nid": "services_oa_publish_validate_flow_tree", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L200"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L207"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L208"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L231"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L231"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L231"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "collect", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L233"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L233"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L238"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L238"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L238"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L240"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L240"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L248"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L250"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L252"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L255"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L255"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L255"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L257"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L257"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L263"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L265"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L267"}, {"caller_nid": "services_oa_publish_validate_oa_roles_referenced", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L269"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L277"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L279"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L279"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L283"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L284"}, {"caller_nid": "services_oa_publish_validate_control_types", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L285"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L299"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L300"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L300"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L305"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L306"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L307"}, {"caller_nid": "services_oa_publish_validate_draft_for_publish", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L308"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L324"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L327"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L330"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L331"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L332"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L338"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "_find_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L343"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L351"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L353"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L353"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L353"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L366"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L372"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L375"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L376"}, {"caller_nid": "services_oa_publish_publish_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_publish.py", "source_location": "L377"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/a43317facbf51977d20b26539fc068914cf3b3dbd5878e0e19768801cee39cc0.json b/backend/app/graphify-out/cache/ast/a43317facbf51977d20b26539fc068914cf3b3dbd5878e0e19768801cee39cc0.json new file mode 100644 index 00000000..97df81c7 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/a43317facbf51977d20b26539fc068914cf3b3dbd5878e0e19768801cee39cc0.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L180"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L245"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L541"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L656"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L769"}, {"id": "services_oa_engine_rationale_295", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295"}, {"id": "services_oa_engine_rationale_665", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L180", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L656", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L769", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L162", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L174", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L189", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L200", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L296", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L296", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L329", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L342", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L367", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L372", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L473", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L485", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L486", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L533", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L538", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L552", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L566", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L578", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L647", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L647", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L648", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L651", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L672", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L678", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L766", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L772", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L782", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L801", "weight": 1.0}, {"source": "services_oa_engine_rationale_295", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295", "weight": 1.0}, {"source": "services_oa_engine_rationale_665", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L69"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L70"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L71"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L95"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L113"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L163"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L190"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L199"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L202"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L215"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L219"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L220"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L222"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L223"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L240"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L241"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L248"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L251"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L253"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L259"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L265"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L266"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L270"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L271"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L273"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L274"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L314"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L322"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L323"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L326"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L345"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L373"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L384"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L386"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L387"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L391"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L406"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L409"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L412"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L413"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L414"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L438"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L439"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L469"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L479"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L486"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L500"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L500"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L508"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L508"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L513"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L516"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L530"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L537"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L571"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L579"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L579"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L582"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L583"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L592"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L592"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L592"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L605"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L609"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L610"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L614"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L633"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L633"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L633"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L645"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L652"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L667"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L667"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L667"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L683"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L683"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L683"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L694"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L696"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L699"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L700"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L715"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L722"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L722"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L722"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L733"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L734"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L735"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L747"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L761"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L764"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L765"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L778"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L778"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L778"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L782"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L783"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L786"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L790"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L799"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L800"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/a5018a9cd5c66186b2116fa62400c3534247beae914e7ad8585193bb7e451b46.json b/backend/app/graphify-out/cache/ast/a5018a9cd5c66186b2116fa62400c3534247beae914e7ad8585193bb7e451b46.json new file mode 100644 index 00000000..17f9fea7 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/a5018a9cd5c66186b2116fa62400c3534247beae914e7ad8585193bb7e451b46.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "label": "oa_assignee.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L1"}, {"id": "services_oa_assignee_assigneeresolveerror", "label": "AssigneeResolveError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L12"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_assignee_active_user_id", "label": "_active_user_id()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L16"}, {"id": "services_oa_assignee_resolve_dept_leader", "label": "resolve_dept_leader()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L33"}, {"id": "services_oa_assignee_resolve_direct_supervisor", "label": "resolve_direct_supervisor()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L52"}, {"id": "services_oa_assignee_resolve_assignees", "label": "resolve_assignees()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L87"}, {"id": "services_oa_assignee_rationale_1", "label": "OA \u5ba1\u6279\u4eba\u89e3\u6790\uff08\u4e0d\u8bfb sys_role\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L1"}, {"id": "services_oa_assignee_rationale_97", "label": "\u6309\u8282\u70b9 approverConfig \u89e3\u6790\u5904\u7406\u4eba\u3002 assigneeType: users | oa_roles | dept_leader | dir", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L97"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "services_oa_assignee_assigneeresolveerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L12", "weight": 1.0}, {"source": "services_oa_assignee_assigneeresolveerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "services_oa_assignee_active_user_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "services_oa_assignee_resolve_dept_leader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "services_oa_assignee_resolve_direct_supervisor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "target": "services_oa_assignee_resolve_assignees", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L87", "weight": 1.0}, {"source": "services_oa_assignee_resolve_dept_leader", "target": "services_oa_assignee_assigneeresolveerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L38", "weight": 1.0}, {"source": "services_oa_assignee_resolve_dept_leader", "target": "services_oa_assignee_active_user_id", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L46", "weight": 1.0}, {"source": "services_oa_assignee_resolve_direct_supervisor", "target": "services_oa_assignee_assigneeresolveerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L70", "weight": 1.0}, {"source": "services_oa_assignee_resolve_direct_supervisor", "target": "services_oa_assignee_active_user_id", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L71", "weight": 1.0}, {"source": "services_oa_assignee_resolve_direct_supervisor", "target": "services_oa_assignee_resolve_dept_leader", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_assignee_resolve_assignees", "target": "services_oa_assignee_active_user_id", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L113", "weight": 1.0}, {"source": "services_oa_assignee_resolve_assignees", "target": "services_oa_assignee_assigneeresolveerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L118", "weight": 1.0}, {"source": "services_oa_assignee_resolve_assignees", "target": "services_oa_assignee_resolve_dept_leader", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L153", "weight": 1.0}, {"source": "services_oa_assignee_resolve_assignees", "target": "services_oa_assignee_resolve_direct_supervisor", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L158", "weight": 1.0}, {"source": "services_oa_assignee_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_assignee_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L1", "weight": 1.0}, {"source": "services_oa_assignee_rationale_97", "target": "services_oa_assignee_resolve_assignees", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L97", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_assignee_active_user_id", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L17"}, {"caller_nid": "services_oa_assignee_active_user_id", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L21"}, {"caller_nid": "services_oa_assignee_active_user_id", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L21"}, {"caller_nid": "services_oa_assignee_active_user_id", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L21"}, {"caller_nid": "services_oa_assignee_resolve_dept_leader", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L36"}, {"caller_nid": "services_oa_assignee_resolve_dept_leader", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L40"}, {"caller_nid": "services_oa_assignee_resolve_dept_leader", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L40"}, {"caller_nid": "services_oa_assignee_resolve_dept_leader", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L40"}, {"caller_nid": "services_oa_assignee_resolve_dept_leader", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L46"}, {"caller_nid": "services_oa_assignee_resolve_direct_supervisor", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L61"}, {"caller_nid": "services_oa_assignee_resolve_direct_supervisor", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L61"}, {"caller_nid": "services_oa_assignee_resolve_direct_supervisor", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L61"}, {"caller_nid": "services_oa_assignee_resolve_direct_supervisor", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L72"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L102"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L102"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L102"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L104"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L105"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L106"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L109"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L109"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L111"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L115"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L116"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L122"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L122"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L124"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L124"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L129"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L129"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L129"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L132"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L132"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L138"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "list_oa_role_user_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L139"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L139"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L142"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L146"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L147"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L163"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L167"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L169"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L173"}, {"caller_nid": "services_oa_assignee_resolve_assignees", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_assignee.py", "source_location": "L174"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/a6d2fe39547f86bb4f2dbf43a0cae1c532496a5219ba3d352518b6bb7815770f.json b/backend/app/graphify-out/cache/ast/a6d2fe39547f86bb4f2dbf43a0cae1c532496a5219ba3d352518b6bb7815770f.json new file mode 100644 index 00000000..97c4a0f3 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/a6d2fe39547f86bb4f2dbf43a0cae1c532496a5219ba3d352518b6bb7815770f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L1"}, {"id": "api_oa_approval_get_tenant_no", "label": "_get_tenant_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17"}, {"id": "api_oa_approval_oarolecreatebody", "label": "OaRoleCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_oa_approval_oaroleupdatebody", "label": "OaRoleUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43"}, {"id": "api_oa_approval_oaroleusersbody", "label": "OaRoleUsersBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51"}, {"id": "api_oa_approval_list_oa_roles", "label": "list_oa_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57"}, {"id": "api_oa_approval_ensure_oa_role_presets", "label": "ensure_oa_role_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69"}, {"id": "api_oa_approval_create_oa_role", "label": "create_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82"}, {"id": "api_oa_approval_update_oa_role", "label": "update_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105"}, {"id": "api_oa_approval_delete_oa_role", "label": "delete_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130"}, {"id": "api_oa_approval_list_oa_role_users", "label": "list_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144"}, {"id": "api_oa_approval_replace_oa_role_users", "label": "replace_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156"}, {"id": "api_oa_approval_oagroupcreatebody", "label": "OaGroupCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184"}, {"id": "api_oa_approval_oagroupupdatebody", "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191"}, {"id": "api_oa_approval_list_oa_groups", "label": "list_oa_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199"}, {"id": "api_oa_approval_create_oa_group", "label": "create_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208"}, {"id": "api_oa_approval_update_oa_group", "label": "update_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229"}, {"id": "api_oa_approval_delete_oa_group", "label": "delete_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253"}, {"id": "api_oa_approval_oaappcreatebody", "label": "OaAppCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271"}, {"id": "api_oa_approval_oaappupdatebody", "label": "OaAppUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286"}, {"id": "api_oa_approval_oadraftsavebody", "label": "OaDraftSaveBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301"}, {"id": "api_oa_approval_list_oa_apps", "label": "list_oa_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310"}, {"id": "api_oa_approval_create_oa_app", "label": "create_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325"}, {"id": "api_oa_approval_update_oa_app", "label": "update_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361"}, {"id": "api_oa_approval_delete_oa_app", "label": "delete_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381"}, {"id": "api_oa_approval_get_oa_app_draft", "label": "get_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395"}, {"id": "api_oa_approval_save_oa_app_draft", "label": "save_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411"}, {"id": "api_oa_approval_publish_oa_app", "label": "publish_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435"}, {"id": "api_oa_approval_oastartinstancebody", "label": "OaStartInstanceBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456"}, {"id": "api_oa_approval_oataskactionbody", "label": "OaTaskActionBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466"}, {"id": "api_oa_approval_oaaddsignbody", "label": "OaAddSignBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L471"}, {"id": "api_oa_approval_list_oa_templates", "label": "list_oa_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478"}, {"id": "api_oa_approval_get_oa_template", "label": "get_oa_template()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L490"}, {"id": "api_oa_approval_start_oa_instance", "label": "start_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L511"}, {"id": "api_oa_approval_get_oa_instance", "label": "get_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L537"}, {"id": "api_oa_approval_list_oa_tasks", "label": "list_oa_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L552"}, {"id": "api_oa_approval_approve_oa_task", "label": "approve_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L570"}, {"id": "api_oa_approval_reject_oa_task", "label": "reject_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L594"}, {"id": "api_oa_approval_add_sign_oa_task", "label": "add_sign_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L618"}, {"id": "api_oa_approval_withdraw_oa_instance", "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L642"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oarolecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "api_oa_approval_oarolecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "api_oa_approval_oaroleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleusersbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "api_oa_approval_oaroleusersbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_ensure_oa_role_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_replace_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "api_oa_approval_oagroupcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "api_oa_approval_oagroupupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "api_oa_approval_oaappcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "api_oa_approval_oaappupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oadraftsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "api_oa_approval_oadraftsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_save_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_publish_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oastartinstancebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "api_oa_approval_oastartinstancebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oataskactionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "api_oa_approval_oataskactionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaaddsignbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L471", "weight": 1.0}, {"source": "api_oa_approval_oaaddsignbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L471", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L490", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_start_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L511", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L537", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L552", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_approve_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_reject_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L594", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_add_sign_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L618", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_withdraw_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L642", "weight": 1.0}, {"source": "api_oa_approval_list_oa_roles", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "api_oa_approval_ensure_oa_role_presets", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L73", "weight": 1.0}, {"source": "api_oa_approval_create_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L88", "weight": 1.0}, {"source": "api_oa_approval_update_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L112", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L136", "weight": 1.0}, {"source": "api_oa_approval_list_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L149", "weight": 1.0}, {"source": "api_oa_approval_replace_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L163", "weight": 1.0}, {"source": "api_oa_approval_list_oa_groups", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L203", "weight": 1.0}, {"source": "api_oa_approval_create_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L214", "weight": 1.0}, {"source": "api_oa_approval_update_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L236", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L259", "weight": 1.0}, {"source": "api_oa_approval_list_oa_apps", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L317", "weight": 1.0}, {"source": "api_oa_approval_create_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L331", "weight": 1.0}, {"source": "api_oa_approval_update_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L368", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L387", "weight": 1.0}, {"source": "api_oa_approval_get_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L401", "weight": 1.0}, {"source": "api_oa_approval_save_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L418", "weight": 1.0}, {"source": "api_oa_approval_publish_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L442", "weight": 1.0}, {"source": "api_oa_approval_list_oa_templates", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L484", "weight": 1.0}, {"source": "api_oa_approval_get_oa_template", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L498", "weight": 1.0}, {"source": "api_oa_approval_start_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L519", "weight": 1.0}, {"source": "api_oa_approval_get_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L545", "weight": 1.0}, {"source": "api_oa_approval_list_oa_tasks", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L560", "weight": 1.0}, {"source": "api_oa_approval_approve_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L579", "weight": 1.0}, {"source": "api_oa_approval_reject_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L603", "weight": 1.0}, {"source": "api_oa_approval_add_sign_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L627", "weight": 1.0}, {"source": "api_oa_approval_withdraw_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L650", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_oa_approval_get_tenant_no", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L21"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "list_roles", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L64"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L65"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "ensure_presets", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L75"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L76"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "create_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L89"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L97"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L113"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "update_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L114"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L118"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L119"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L120"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L121"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L122"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "delete_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L138"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "get_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L150"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L151"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "replace_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L164"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L169"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L171"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L172"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "list_groups", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "create_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L215"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L221"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L237"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "update_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L238"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L242"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L243"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L244"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L245"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "delete_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L261"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "list_apps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L318"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L321"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "create_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L332"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L346"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L350"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L352"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L353"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L369"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "update_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L373"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "delete_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L389"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L402"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L403"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L405"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "save_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L419"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L427"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L429"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "publish_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L443"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L444"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L447"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L448"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "list_templates", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L485"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L485"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L486"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get_template_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L499"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L503"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L505"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L507"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L507"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "start_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L520"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L524"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L531"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L533"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L533"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L546"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "get_instance_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L546"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L548"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L548"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L561"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L562"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L564"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L566"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L566"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L580"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L584"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L588"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L590"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L590"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L604"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L608"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L612"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L614"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L614"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "add_sign", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L628"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L632"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L636"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L638"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L638"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "withdraw_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L651"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L652"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L654"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L656"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L656"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/b3456b4dc83b8d11dc76f836dc66d6d0316f07682b6d6bef7c068a064e3f5f88.json b/backend/app/graphify-out/cache/ast/b3456b4dc83b8d11dc76f836dc66d6d0316f07682b6d6bef7c068a064e3f5f88.json new file mode 100644 index 00000000..b5006cf5 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/b3456b4dc83b8d11dc76f836dc66d6d0316f07682b6d6bef7c068a064e3f5f88.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57"}, {"id": "services_oa_engine_flow_node_key_order", "label": "_flow_node_key_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_next_task_order_num", "label": "_next_task_order_num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_sort_tasks_for_detail", "label": "_sort_tasks_for_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111"}, {"id": "services_oa_engine_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131"}, {"id": "services_oa_engine_terminal_item", "label": "_terminal_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139"}, {"id": "services_oa_engine_task_round", "label": "_task_round()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154"}, {"id": "services_oa_engine_append_pending_nodes", "label": "_append_pending_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164"}, {"id": "services_oa_engine_build_progress_items", "label": "build_progress_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"id": "services_oa_engine_add_instance_event", "label": "_add_instance_event()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L302"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L338"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L356"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L427"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L470"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L604"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L654"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L723"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L764"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L834"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L938"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L949"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1013"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1063"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1184"}, {"id": "services_oa_engine_return_task", "label": "return_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1300"}, {"id": "services_oa_engine_resubmit_instance", "label": "resubmit_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1381"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1395"}, {"id": "services_oa_engine_rationale_76", "label": "\u6309\u6d41\u7a0b\u6811\u5148\u5e8f\u904d\u5386\u4e3a node.id \u5206\u914d\u7a33\u5b9a\u5e8f\u53f7\uff08\u7528\u4e8e\u8be6\u60c5\u65f6\u95f4\u8f74\u6392\u5e8f\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"id": "services_oa_engine_rationale_101", "label": "\u540c\u4e00\u5b9e\u4f8b\u5185\u4efb\u52a1\u5c55\u793a\u5e8f\u53f7\u53d6 max+1\uff08\u65e0\u4efb\u52a1\u4ece 1 \u8d77\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101"}, {"id": "services_oa_engine_rationale_114", "label": "\u8be6\u60c5\u65f6\u95f4\u8f74\uff1a\u6309\u6d41\u7a0b\u6811\u8282\u70b9\u987a\u5e8f\uff0c\u518d order_num / create_time\uff08\u517c\u5bb9\u65e7\u6570\u636e\u540c\u79d2\u521b\u5efa\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"id": "services_oa_engine_rationale_203", "label": "\u6295\u5f71\u5ba1\u6279\u8fdb\u5ea6\uff1a\u53d1\u8d77\u4eba \u2192 \u6811\u5e8f tasks \u2192 \u672a\u5230\u8fbe\uff1b\u7ec8\u6001\u6536\u5c3e\u3002 \u9489\u9489\u5bf9\u9f50\uff1a\u6253\u56de\u7ed3\u679c\u843d\u5728\u5ba1\u6279\u4efb\u52a1\u8282\u70b9\u4e0a\uff0c\u4e0d\u53e6\u63d2 kind=return\uff1b\u4e0d\u505a\u540c\u5355\u591a\u8f6e", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203"}, {"id": "services_oa_engine_rationale_613", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"id": "services_oa_engine_rationale_773", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"id": "services_oa_engine_rationale_1193", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1193"}, {"id": "services_oa_engine_rationale_1308", "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u672c\u5355\u7ec8\u6001 returned\uff1b\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1308"}, {"id": "services_oa_engine_rationale_1390", "label": "\u5df2\u5e9f\u5f03\uff1a\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1390"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_node_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_next_task_order_num", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_terminal_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_round", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_append_pending_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_build_progress_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_instance_event", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L267", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L302", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L311", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L338", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L356", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L427", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L470", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L604", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L654", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L723", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L834", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L938", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L949", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1013", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_return_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1300", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_resubmit_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1395", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51", "weight": 1.0}, {"source": "services_oa_engine_sort_tasks_for_detail", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115", "weight": 1.0}, {"source": "services_oa_engine_terminal_item", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_append_pending_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L252", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_terminal_item", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L315", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L329", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L377", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L399", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L400", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L412", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L414", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L459", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L493", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L564", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L617", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L635", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L641", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L647", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L664", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L675", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L687", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L692", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L790", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L795", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L809", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L824", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L851", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L852", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L857", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L880", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L918", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L925", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L935", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L945", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L950", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L965", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L965", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L968", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L974", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L979", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L982", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L987", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_build_progress_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1000", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1055", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1057", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1060", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1074", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1088", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1100", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1137", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1176", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1200", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1206", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1217", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1245", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1297", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1315", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1321", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1332", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1367", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1378", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1392", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1398", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1400", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1408", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1426", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1434", "weight": 1.0}, {"source": "services_oa_engine_rationale_76", "target": "services_oa_engine_flow_node_key_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76", "weight": 1.0}, {"source": "services_oa_engine_rationale_101", "target": "services_oa_engine_next_task_order_num", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_engine_rationale_114", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114", "weight": 1.0}, {"source": "services_oa_engine_rationale_203", "target": "services_oa_engine_build_progress_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_engine_rationale_613", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613", "weight": 1.0}, {"source": "services_oa_engine_rationale_773", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773", "weight": 1.0}, {"source": "services_oa_engine_rationale_1193", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1193", "weight": 1.0}, {"source": "services_oa_engine_rationale_1308", "target": "services_oa_engine_return_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1308", "weight": 1.0}, {"source": "services_oa_engine_rationale_1390", "target": "services_oa_engine_resubmit_instance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1390", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L50"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L60"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L62"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L63"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_flow_node_key_order", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L107"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L108"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L134"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L136"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"caller_nid": "services_oa_engine_task_round", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L155"}, {"caller_nid": "services_oa_engine_task_round", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L179"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L207"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L208"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L213"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L235"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L242"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L251"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L259"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L261"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "OaInstanceEvent", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L279"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L280"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L298"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L304"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L305"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L307"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L312"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L334"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L351"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L357"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L357"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L368"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L373"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L401"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L433"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L433"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L433"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L434"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L437"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L443"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L451"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L457"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L462"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L462"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L463"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L466"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L474"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L474"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L490"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L494"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L496"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L510"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L512"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L514"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L525"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L527"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L529"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L531"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L531"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L533"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L541"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L557"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L569"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L569"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L569"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L574"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L585"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L586"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L588"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L590"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L598"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L601"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L614"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L618"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L623"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L623"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L623"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L631"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L636"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L636"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L637"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L638"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L674"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L677"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L687"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L689"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L695"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L696"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L698"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L699"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L706"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L718"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L719"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L726"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L728"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L729"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L731"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L735"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L737"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L741"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L743"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L744"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L745"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L748"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L749"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L757"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L757"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L790"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L803"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L806"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L818"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L818"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L821"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L827"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L849"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L853"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L858"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L860"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L865"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L865"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L865"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L869"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L871"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L872"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L873"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L874"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L894"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L897"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L900"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L901"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L902"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L933"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L934"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L940"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L940"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L940"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L951"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L953"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L953"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L953"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L958"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L958"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L958"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L970"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L970"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L970"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L980"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L982"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L987"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L990"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L990"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L992"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L992"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L992"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L992"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L994"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L999"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1020"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1022"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1022"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1030"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1030"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1035"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1038"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1038"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1046"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1046"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1046"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1046"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1052"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1059"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1072"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1077"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1077"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1077"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1093"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1093"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1093"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1101"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1101"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1105"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1109"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1112"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1117"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1117"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1117"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1131"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1135"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1136"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1140"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1142"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1142"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1142"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1154"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1160"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1160"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1160"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1173"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1180"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1195"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1195"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1195"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1211"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1211"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1211"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1218"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1222"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1224"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1227"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1228"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1234"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1234"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1234"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1243"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1251"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1251"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1251"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1262"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1263"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1264"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1274"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1274"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1274"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1277"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1292"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1296"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1310"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1310"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1310"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1326"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1326"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1326"}, {"caller_nid": "services_oa_engine_return_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1333"}, {"caller_nid": "services_oa_engine_return_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1336"}, {"caller_nid": "services_oa_engine_return_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1340"}, {"caller_nid": "services_oa_engine_return_task", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1341"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1341"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1341"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1346"}, {"caller_nid": "services_oa_engine_return_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1349"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1349"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1349"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1361"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1366"}, {"caller_nid": "services_oa_engine_return_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1377"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1404"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1404"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1404"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1408"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1409"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1412"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1416"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1418"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1418"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1418"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1425"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1431"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1431"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1433"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/b7383ad9462c66315bcfe31c9a349c8565f7dfc62c6a1705f5154e3150b5aa1a.json b/backend/app/graphify-out/cache/ast/b7383ad9462c66315bcfe31c9a349c8565f7dfc62c6a1705f5154e3150b5aa1a.json new file mode 100644 index 00000000..d1ab78cc --- /dev/null +++ b/backend/app/graphify-out/cache/ast/b7383ad9462c66315bcfe31c9a349c8565f7dfc62c6a1705f5154e3150b5aa1a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L1"}, {"id": "api_init_rationale_1", "label": "API \u8def\u7531\u5305\uff08\u9aa8\u67b6\uff1a\u516c\u5171\u9274\u6743 + \u9759\u6001\u83dc\u5355 + \u8fd0\u8425\u7aef\u5360\u4f4d\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_public", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_menu", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_workflow", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_basic_info", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_collection_protocol", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_leave", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_operations", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_ethnic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_sample_reception", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_sample_production_reception", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_qc", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_research_donation", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_production", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pilot_service", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_insurance_company", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_storage_release_review", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_sample_sms_notification", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_storage_entry_sms_notification", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_qc_sms_notification", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_protocol_sample_collection", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_research_donation_sample_collection", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pilot_application", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pilot_checkup", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pilot_delivery", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pilot_infusion_confirm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pilot_infusion_schedule_mgmt", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_outbound_release_review", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_clinical_payment", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_env_detect", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_cleanroom_garment", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_market", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_pre_transit_sample", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "target": "app_api_oa_approval", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L36", "weight": 1.0}, {"source": "api_init_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_api_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/bb300f7412e109992f688c80908d63c25e0b218aaccf26663c3947577f4a730c.json b/backend/app/graphify-out/cache/ast/bb300f7412e109992f688c80908d63c25e0b218aaccf26663c3947577f4a730c.json new file mode 100644 index 00000000..05ade223 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/bb300f7412e109992f688c80908d63c25e0b218aaccf26663c3947577f4a730c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L1"}, {"id": "api_oa_approval_get_tenant_no", "label": "_get_tenant_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17"}, {"id": "api_oa_approval_oarolecreatebody", "label": "OaRoleCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_oa_approval_oaroleupdatebody", "label": "OaRoleUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43"}, {"id": "api_oa_approval_oaroleusersbody", "label": "OaRoleUsersBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51"}, {"id": "api_oa_approval_list_oa_roles", "label": "list_oa_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57"}, {"id": "api_oa_approval_ensure_oa_role_presets", "label": "ensure_oa_role_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69"}, {"id": "api_oa_approval_create_oa_role", "label": "create_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82"}, {"id": "api_oa_approval_update_oa_role", "label": "update_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105"}, {"id": "api_oa_approval_delete_oa_role", "label": "delete_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130"}, {"id": "api_oa_approval_list_oa_role_users", "label": "list_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144"}, {"id": "api_oa_approval_replace_oa_role_users", "label": "replace_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156"}, {"id": "api_oa_approval_oagroupcreatebody", "label": "OaGroupCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184"}, {"id": "api_oa_approval_oagroupupdatebody", "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191"}, {"id": "api_oa_approval_list_oa_groups", "label": "list_oa_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199"}, {"id": "api_oa_approval_create_oa_group", "label": "create_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208"}, {"id": "api_oa_approval_update_oa_group", "label": "update_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229"}, {"id": "api_oa_approval_delete_oa_group", "label": "delete_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253"}, {"id": "api_oa_approval_oaappcreatebody", "label": "OaAppCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271"}, {"id": "api_oa_approval_oaappupdatebody", "label": "OaAppUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286"}, {"id": "api_oa_approval_oadraftsavebody", "label": "OaDraftSaveBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301"}, {"id": "api_oa_approval_list_oa_apps", "label": "list_oa_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310"}, {"id": "api_oa_approval_create_oa_app", "label": "create_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325"}, {"id": "api_oa_approval_update_oa_app", "label": "update_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361"}, {"id": "api_oa_approval_delete_oa_app", "label": "delete_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381"}, {"id": "api_oa_approval_get_oa_app_draft", "label": "get_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395"}, {"id": "api_oa_approval_save_oa_app_draft", "label": "save_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411"}, {"id": "api_oa_approval_publish_oa_app", "label": "publish_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435"}, {"id": "api_oa_approval_oastartinstancebody", "label": "OaStartInstanceBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456"}, {"id": "api_oa_approval_oataskactionbody", "label": "OaTaskActionBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466"}, {"id": "api_oa_approval_list_oa_templates", "label": "list_oa_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472"}, {"id": "api_oa_approval_get_oa_template", "label": "get_oa_template()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L484"}, {"id": "api_oa_approval_start_oa_instance", "label": "start_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L505"}, {"id": "api_oa_approval_get_oa_instance", "label": "get_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L531"}, {"id": "api_oa_approval_list_oa_tasks", "label": "list_oa_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L546"}, {"id": "api_oa_approval_approve_oa_task", "label": "approve_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L564"}, {"id": "api_oa_approval_reject_oa_task", "label": "reject_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L588"}, {"id": "api_oa_approval_withdraw_oa_instance", "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L612"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oarolecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "api_oa_approval_oarolecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "api_oa_approval_oaroleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleusersbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "api_oa_approval_oaroleusersbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_ensure_oa_role_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_replace_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "api_oa_approval_oagroupcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "api_oa_approval_oagroupupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "api_oa_approval_oaappcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "api_oa_approval_oaappupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oadraftsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "api_oa_approval_oadraftsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_save_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_publish_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oastartinstancebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "api_oa_approval_oastartinstancebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oataskactionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "api_oa_approval_oataskactionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L484", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_start_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L505", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L531", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L546", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_approve_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L564", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_reject_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L588", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_withdraw_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L612", "weight": 1.0}, {"source": "api_oa_approval_list_oa_roles", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "api_oa_approval_ensure_oa_role_presets", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L73", "weight": 1.0}, {"source": "api_oa_approval_create_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L88", "weight": 1.0}, {"source": "api_oa_approval_update_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L112", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L136", "weight": 1.0}, {"source": "api_oa_approval_list_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L149", "weight": 1.0}, {"source": "api_oa_approval_replace_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L163", "weight": 1.0}, {"source": "api_oa_approval_list_oa_groups", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L203", "weight": 1.0}, {"source": "api_oa_approval_create_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L214", "weight": 1.0}, {"source": "api_oa_approval_update_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L236", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L259", "weight": 1.0}, {"source": "api_oa_approval_list_oa_apps", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L317", "weight": 1.0}, {"source": "api_oa_approval_create_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L331", "weight": 1.0}, {"source": "api_oa_approval_update_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L368", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L387", "weight": 1.0}, {"source": "api_oa_approval_get_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L401", "weight": 1.0}, {"source": "api_oa_approval_save_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L418", "weight": 1.0}, {"source": "api_oa_approval_publish_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L442", "weight": 1.0}, {"source": "api_oa_approval_list_oa_templates", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478", "weight": 1.0}, {"source": "api_oa_approval_get_oa_template", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L492", "weight": 1.0}, {"source": "api_oa_approval_start_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L513", "weight": 1.0}, {"source": "api_oa_approval_get_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L539", "weight": 1.0}, {"source": "api_oa_approval_list_oa_tasks", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L554", "weight": 1.0}, {"source": "api_oa_approval_approve_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L573", "weight": 1.0}, {"source": "api_oa_approval_reject_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L597", "weight": 1.0}, {"source": "api_oa_approval_withdraw_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L620", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_oa_approval_get_tenant_no", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L21"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "list_roles", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L64"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L65"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "ensure_presets", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L75"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L76"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "create_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L89"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L97"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L113"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "update_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L114"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L118"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L119"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L120"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L121"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L122"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "delete_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L138"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "get_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L150"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L151"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "replace_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L164"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L169"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L171"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L172"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "list_groups", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "create_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L215"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L221"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L237"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "update_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L238"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L242"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L243"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L244"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L245"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "delete_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L261"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "list_apps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L318"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L321"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "create_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L332"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L346"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L350"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L352"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L353"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L369"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "update_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L373"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "delete_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L389"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L402"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L403"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L405"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "save_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L419"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L427"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L429"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "publish_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L443"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L444"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L447"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L448"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "list_templates", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L479"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L479"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L480"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get_template_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L493"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L497"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L499"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L501"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L501"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "start_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L514"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L518"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L525"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L527"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L527"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L540"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "get_instance_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L540"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L542"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L542"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L555"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L556"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L558"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L560"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L560"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L574"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L578"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L582"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L584"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L584"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L598"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L602"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L606"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L608"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L608"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "withdraw_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L621"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L622"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L624"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L626"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L626"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/c2911b071390a03db47b55140b02c749bb85e46b187b25430696691a7a8c7fb2.json b/backend/app/graphify-out/cache/ast/c2911b071390a03db47b55140b02c749bb85e46b187b25430696691a7a8c7fb2.json new file mode 100644 index 00000000..b9e65215 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/c2911b071390a03db47b55140b02c749bb85e46b187b25430696691a7a8c7fb2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57"}, {"id": "services_oa_engine_flow_node_key_order", "label": "_flow_node_key_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_next_task_order_num", "label": "_next_task_order_num()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_sort_tasks_for_detail", "label": "_sort_tasks_for_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111"}, {"id": "services_oa_engine_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131"}, {"id": "services_oa_engine_terminal_item", "label": "_terminal_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139"}, {"id": "services_oa_engine_task_round", "label": "_task_round()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154"}, {"id": "services_oa_engine_append_pending_nodes", "label": "_append_pending_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164"}, {"id": "services_oa_engine_build_progress_items", "label": "build_progress_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"id": "services_oa_engine_add_instance_event", "label": "_add_instance_event()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L330"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L348"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L384"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L392"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L422"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L483"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L632"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L682"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L862"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L974"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L985"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1057"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1107"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1228"}, {"id": "services_oa_engine_return_task", "label": "return_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1344"}, {"id": "services_oa_engine_resubmit_instance", "label": "resubmit_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1425"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1482"}, {"id": "services_oa_engine_rationale_76", "label": "\u6309\u6d41\u7a0b\u6811\u5148\u5e8f\u904d\u5386\u4e3a node.id \u5206\u914d\u7a33\u5b9a\u5e8f\u53f7\uff08\u7528\u4e8e\u8be6\u60c5\u65f6\u95f4\u8f74\u6392\u5e8f\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"id": "services_oa_engine_rationale_101", "label": "\u540c\u4e00\u5b9e\u4f8b\u5185\u4efb\u52a1\u5c55\u793a\u5e8f\u53f7\u53d6 max+1\uff08\u65e0\u4efb\u52a1\u4ece 1 \u8d77\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101"}, {"id": "services_oa_engine_rationale_114", "label": "\u8be6\u60c5\u65f6\u95f4\u8f74\uff1a\u6309\u6d41\u7a0b\u6811\u8282\u70b9\u987a\u5e8f\uff0c\u518d order_num / create_time\uff08\u517c\u5bb9\u65e7\u6570\u636e\u540c\u79d2\u521b\u5efa\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"id": "services_oa_engine_rationale_203", "label": "\u6295\u5f71\u5ba1\u6279\u8fdb\u5ea6\uff1a\u6309\u8f6e\u6b21 submit \u2192 \u6811\u5e8f tasks \u2192 return \u4e8b\u4ef6 \u2192 \u672a\u5230\u8fbe\uff1b\u7ec8\u6001\u6536\u5c3e\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203"}, {"id": "services_oa_engine_rationale_641", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L641"}, {"id": "services_oa_engine_rationale_801", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L801"}, {"id": "services_oa_engine_rationale_1237", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1237"}, {"id": "services_oa_engine_rationale_1352", "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u9000\u56de\u53d1\u8d77\u4eba\u4fee\u6539\uff0c\u540c\u5b9e\u4f8b\u4e0d\u7ed3\u675f\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1352"}, {"id": "services_oa_engine_rationale_1434", "label": "\u6253\u56de\u540e\u53d1\u8d77\u4eba\u4fee\u6539\u8868\u5355\u5e76\u518d\u6b21\u63d0\u4ea4\uff08\u540c\u5b9e\u4f8b\u65b0\u4e00\u8f6e\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1434"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_node_key_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_next_task_order_num", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L111", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_terminal_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_round", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_append_pending_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_build_progress_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_instance_event", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L330", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L339", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L348", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L384", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L392", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L422", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L483", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L632", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L682", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L751", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L792", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L862", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L974", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L985", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1057", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1107", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1228", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_return_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1344", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_resubmit_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1425", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1482", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51", "weight": 1.0}, {"source": "services_oa_engine_sort_tasks_for_detail", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115", "weight": 1.0}, {"source": "services_oa_engine_terminal_item", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_flow_node_key_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "services_oa_engine_append_pending_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_task_round", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L209", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L221", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_append_pending_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L282", "weight": 1.0}, {"source": "services_oa_engine_build_progress_items", "target": "services_oa_engine_terminal_item", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L343", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L345", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L357", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L427", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L428", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L440", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L442", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L499", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L519", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L592", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L644", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L645", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L663", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L669", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L675", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L692", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L703", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L715", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L720", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L818", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L823", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L837", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L852", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L877", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L878", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L885", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L891", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L916", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L954", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L961", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L971", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L981", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L986", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1001", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1001", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1004", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1010", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1015", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1018", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1023", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_build_progress_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1036", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1101", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1104", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1118", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1132", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1144", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1181", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1219", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1219", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1220", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1223", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1244", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1250", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1261", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_next_task_order_num", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1289", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1341", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1359", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1365", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1376", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1411", "weight": 1.0}, {"source": "services_oa_engine_return_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1422", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1435", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1437", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1449", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1457", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1463", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1470", "weight": 1.0}, {"source": "services_oa_engine_resubmit_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1479", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1485", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1487", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1495", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_add_instance_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1513", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1521", "weight": 1.0}, {"source": "services_oa_engine_rationale_76", "target": "services_oa_engine_flow_node_key_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76", "weight": 1.0}, {"source": "services_oa_engine_rationale_101", "target": "services_oa_engine_next_task_order_num", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L101", "weight": 1.0}, {"source": "services_oa_engine_rationale_114", "target": "services_oa_engine_sort_tasks_for_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114", "weight": 1.0}, {"source": "services_oa_engine_rationale_203", "target": "services_oa_engine_build_progress_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_engine_rationale_641", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L641", "weight": 1.0}, {"source": "services_oa_engine_rationale_801", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L801", "weight": 1.0}, {"source": "services_oa_engine_rationale_1237", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1237", "weight": 1.0}, {"source": "services_oa_engine_rationale_1352", "target": "services_oa_engine_return_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1352", "weight": 1.0}, {"source": "services_oa_engine_rationale_1434", "target": "services_oa_engine_resubmit_instance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1434", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L46"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L50"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L52"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L60"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L62"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L63"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_flow_node_key_order", "callee": "walk", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L103"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L107"}, {"caller_nid": "services_oa_engine_next_task_order_num", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L108"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L115"}, {"caller_nid": "services_oa_engine_sort_tasks_for_detail", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L134"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_fmt_dt", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L136"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_terminal_item", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"caller_nid": "services_oa_engine_task_round", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L155"}, {"caller_nid": "services_oa_engine_task_round", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L172"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L179"}, {"caller_nid": "services_oa_engine_append_pending_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L183"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L204"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L206"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L206"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L209"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "sorted", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L212"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L216"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L221"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L223"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L223"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L226"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L228"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L235"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L244"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L244"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L247"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L254"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L259"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L263"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L265"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L266"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L273"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L274"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L275"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L276"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L278"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L281"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L289"}, {"caller_nid": "services_oa_engine_build_progress_items", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L291"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L306"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "OaInstanceEvent", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L307"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L308"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L315"}, {"caller_nid": "services_oa_engine_add_instance_event", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L326"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L332"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L334"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L335"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L340"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L359"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L361"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L362"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L379"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L388"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L394"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L396"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L396"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L401"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L408"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L457"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L457"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L457"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L457"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L461"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L461"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L461"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L462"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L468"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L468"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L468"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L479"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L484"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L484"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L484"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L485"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L490"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L490"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L491"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L494"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L502"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L502"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L518"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L522"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L524"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L526"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L534"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L538"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L540"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L542"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L553"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L555"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L557"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L561"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L569"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L570"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L581"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L585"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L586"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L586"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L586"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L587"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L597"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L597"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L597"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L602"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L614"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L618"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L626"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L629"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L642"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L646"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L651"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L651"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L651"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L659"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L664"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L664"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L665"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L666"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L693"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L702"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L705"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L715"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L718"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L723"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L724"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L726"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L727"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L734"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L734"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L746"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L747"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L754"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L756"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L757"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L759"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L763"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L765"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L769"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L771"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L772"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L776"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L777"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L779"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L780"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L785"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L785"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L818"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L820"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L830"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L831"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L834"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L846"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L846"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L849"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L855"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L875"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L879"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L883"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L892"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L894"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L899"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L899"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L899"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L903"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L905"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L906"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L907"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L909"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L910"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L930"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L933"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L936"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L937"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L938"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L969"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L970"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L976"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L976"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L976"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L987"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L994"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L994"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L994"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1006"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1006"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1006"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1016"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1018"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1023"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1025"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1025"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1026"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1026"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1028"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1028"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1028"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1028"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1030"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1035"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1044"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1050"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1064"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1066"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1066"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1074"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1074"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1079"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1082"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1082"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1090"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1096"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1103"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1103"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1103"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1116"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1121"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1121"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1121"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1137"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1137"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1137"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1145"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1145"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1148"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1149"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1153"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1156"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1161"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1175"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1179"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1180"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1184"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1186"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1186"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1186"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1198"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1204"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1204"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1204"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1217"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1224"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1239"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1239"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1239"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1255"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1255"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1255"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1262"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1266"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1268"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1271"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1272"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1278"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1278"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1278"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1287"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1295"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1306"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1307"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1308"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1318"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1318"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1318"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1321"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1336"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1339"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1340"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1354"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1354"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1354"}, {"caller_nid": "services_oa_engine_return_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1370"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1370"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1370"}, {"caller_nid": "services_oa_engine_return_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1377"}, {"caller_nid": "services_oa_engine_return_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1380"}, {"caller_nid": "services_oa_engine_return_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1384"}, {"caller_nid": "services_oa_engine_return_task", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1385"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1385"}, {"caller_nid": "services_oa_engine_return_task", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1385"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1390"}, {"caller_nid": "services_oa_engine_return_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1393"}, {"caller_nid": "services_oa_engine_return_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1393"}, {"caller_nid": "services_oa_engine_return_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1393"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1405"}, {"caller_nid": "services_oa_engine_return_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1410"}, {"caller_nid": "services_oa_engine_return_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1421"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1442"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1442"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1442"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1450"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1452"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1456"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1458"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1458"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1462"}, {"caller_nid": "services_oa_engine_resubmit_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1478"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1491"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1491"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1491"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1495"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1496"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1499"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1503"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1505"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1505"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1505"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1512"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1518"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1518"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1520"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/c4e5451a4833f509fb884bd6b46060f64c9d52345cc0fd6d7256c21b472d435e.json b/backend/app/graphify-out/cache/ast/c4e5451a4833f509fb884bd6b46060f64c9d52345cc0fd6d7256c21b472d435e.json new file mode 100644 index 00000000..93e399a2 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/c4e5451a4833f509fb884bd6b46060f64c9d52345cc0fd6d7256c21b472d435e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L1"}, {"id": "api_oa_approval_get_tenant_no", "label": "_get_tenant_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17"}, {"id": "api_oa_approval_oarolecreatebody", "label": "OaRoleCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_oa_approval_oaroleupdatebody", "label": "OaRoleUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43"}, {"id": "api_oa_approval_oaroleusersbody", "label": "OaRoleUsersBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51"}, {"id": "api_oa_approval_list_oa_roles", "label": "list_oa_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57"}, {"id": "api_oa_approval_ensure_oa_role_presets", "label": "ensure_oa_role_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69"}, {"id": "api_oa_approval_create_oa_role", "label": "create_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82"}, {"id": "api_oa_approval_update_oa_role", "label": "update_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105"}, {"id": "api_oa_approval_delete_oa_role", "label": "delete_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130"}, {"id": "api_oa_approval_list_oa_role_users", "label": "list_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144"}, {"id": "api_oa_approval_replace_oa_role_users", "label": "replace_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156"}, {"id": "api_oa_approval_oagroupcreatebody", "label": "OaGroupCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184"}, {"id": "api_oa_approval_oagroupupdatebody", "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191"}, {"id": "api_oa_approval_list_oa_groups", "label": "list_oa_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199"}, {"id": "api_oa_approval_create_oa_group", "label": "create_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208"}, {"id": "api_oa_approval_update_oa_group", "label": "update_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229"}, {"id": "api_oa_approval_delete_oa_group", "label": "delete_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253"}, {"id": "api_oa_approval_oaappcreatebody", "label": "OaAppCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271"}, {"id": "api_oa_approval_oaappupdatebody", "label": "OaAppUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286"}, {"id": "api_oa_approval_oadraftsavebody", "label": "OaDraftSaveBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301"}, {"id": "api_oa_approval_list_oa_apps", "label": "list_oa_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310"}, {"id": "api_oa_approval_create_oa_app", "label": "create_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325"}, {"id": "api_oa_approval_update_oa_app", "label": "update_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361"}, {"id": "api_oa_approval_delete_oa_app", "label": "delete_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381"}, {"id": "api_oa_approval_get_oa_app_draft", "label": "get_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395"}, {"id": "api_oa_approval_save_oa_app_draft", "label": "save_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411"}, {"id": "api_oa_approval_publish_oa_app", "label": "publish_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435"}, {"id": "api_oa_approval_oastartinstancebody", "label": "OaStartInstanceBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456"}, {"id": "api_oa_approval_oataskactionbody", "label": "OaTaskActionBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466"}, {"id": "api_oa_approval_oaaddsignbody", "label": "OaAddSignBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L471"}, {"id": "api_oa_approval_list_oa_templates", "label": "list_oa_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478"}, {"id": "api_oa_approval_get_oa_template", "label": "get_oa_template()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L490"}, {"id": "api_oa_approval_preview_oa_template_flow", "label": "preview_oa_template_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L511"}, {"id": "api_oa_approval_start_oa_instance", "label": "start_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L545"}, {"id": "api_oa_approval_get_oa_instance", "label": "get_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L571"}, {"id": "api_oa_approval_list_oa_tasks", "label": "list_oa_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L586"}, {"id": "api_oa_approval_approve_oa_task", "label": "approve_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L604"}, {"id": "api_oa_approval_reject_oa_task", "label": "reject_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L628"}, {"id": "api_oa_approval_add_sign_oa_task", "label": "add_sign_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L652"}, {"id": "api_oa_approval_withdraw_oa_instance", "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L676"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oarolecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "api_oa_approval_oarolecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "api_oa_approval_oaroleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleusersbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "api_oa_approval_oaroleusersbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_ensure_oa_role_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_replace_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "api_oa_approval_oagroupcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "api_oa_approval_oagroupupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "api_oa_approval_oaappcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "api_oa_approval_oaappupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oadraftsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "api_oa_approval_oadraftsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_save_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_publish_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oastartinstancebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "api_oa_approval_oastartinstancebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oataskactionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "api_oa_approval_oataskactionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaaddsignbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L471", "weight": 1.0}, {"source": "api_oa_approval_oaaddsignbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L471", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L490", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_preview_oa_template_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L511", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_start_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L545", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L571", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L586", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_approve_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L604", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_reject_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L628", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_add_sign_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L652", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_withdraw_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L676", "weight": 1.0}, {"source": "api_oa_approval_list_oa_roles", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "api_oa_approval_ensure_oa_role_presets", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L73", "weight": 1.0}, {"source": "api_oa_approval_create_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L88", "weight": 1.0}, {"source": "api_oa_approval_update_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L112", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L136", "weight": 1.0}, {"source": "api_oa_approval_list_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L149", "weight": 1.0}, {"source": "api_oa_approval_replace_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L163", "weight": 1.0}, {"source": "api_oa_approval_list_oa_groups", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L203", "weight": 1.0}, {"source": "api_oa_approval_create_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L214", "weight": 1.0}, {"source": "api_oa_approval_update_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L236", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L259", "weight": 1.0}, {"source": "api_oa_approval_list_oa_apps", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L317", "weight": 1.0}, {"source": "api_oa_approval_create_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L331", "weight": 1.0}, {"source": "api_oa_approval_update_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L368", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L387", "weight": 1.0}, {"source": "api_oa_approval_get_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L401", "weight": 1.0}, {"source": "api_oa_approval_save_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L418", "weight": 1.0}, {"source": "api_oa_approval_publish_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L442", "weight": 1.0}, {"source": "api_oa_approval_list_oa_templates", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L484", "weight": 1.0}, {"source": "api_oa_approval_get_oa_template", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L498", "weight": 1.0}, {"source": "api_oa_approval_preview_oa_template_flow", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L521", "weight": 1.0}, {"source": "api_oa_approval_start_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L553", "weight": 1.0}, {"source": "api_oa_approval_get_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L579", "weight": 1.0}, {"source": "api_oa_approval_list_oa_tasks", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L594", "weight": 1.0}, {"source": "api_oa_approval_approve_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L613", "weight": 1.0}, {"source": "api_oa_approval_reject_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L637", "weight": 1.0}, {"source": "api_oa_approval_add_sign_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L661", "weight": 1.0}, {"source": "api_oa_approval_withdraw_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L684", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_oa_approval_get_tenant_no", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L21"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "list_roles", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L64"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L65"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "ensure_presets", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L75"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L76"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "create_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L89"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L97"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L113"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "update_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L114"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L118"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L119"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L120"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L121"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L122"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "delete_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L138"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "get_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L150"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L151"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "replace_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L164"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L169"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L171"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L172"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "list_groups", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "create_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L215"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L221"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L237"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "update_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L238"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L242"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L243"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L244"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L245"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "delete_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L261"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "list_apps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L318"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L321"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "create_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L332"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L346"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L350"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L352"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L353"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L369"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "update_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L373"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "delete_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L389"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L402"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L403"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L405"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "save_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L419"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L427"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L429"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "publish_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L443"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L444"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L447"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L448"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "list_templates", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L485"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L485"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L486"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get_template_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L499"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L503"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L505"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L507"}, {"caller_nid": "api_oa_approval_get_oa_template", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L507"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L522"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L525"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L525"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L525"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L530"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "split", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L530"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L530"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "preview_start_flow", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L531"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L539"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L541"}, {"caller_nid": "api_oa_approval_preview_oa_template_flow", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L541"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "start_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L554"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L558"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L565"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L567"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L567"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L580"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "get_instance_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L580"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L582"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L582"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L595"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L596"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L598"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L600"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L600"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L614"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L618"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L622"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L624"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L624"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L638"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L642"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L646"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L648"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L648"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "add_sign", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L662"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L666"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L670"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L672"}, {"caller_nid": "api_oa_approval_add_sign_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L672"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "withdraw_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L685"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L686"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L688"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L690"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L690"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/cb0515d6fd30a48d534d474f3a8fb4bafe8858888b419507e68815092238b029.json b/backend/app/graphify-out/cache/ast/cb0515d6fd30a48d534d474f3a8fb4bafe8858888b419507e68815092238b029.json new file mode 100644 index 00000000..17c64e87 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/cb0515d6fd30a48d534d474f3a8fb4bafe8858888b419507e68815092238b029.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1"}, {"id": "crud_oa_approval_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L23"}, {"id": "crud_oa_approval_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L31"}, {"id": "crud_oa_approval_role_to_dict", "label": "_role_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L47"}, {"id": "crud_oa_approval_ensure_presets", "label": "ensure_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L63"}, {"id": "crud_oa_approval_member_count_map", "label": "_member_count_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L104"}, {"id": "crud_oa_approval_list_roles", "label": "list_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L122"}, {"id": "crud_oa_approval_get_role", "label": "get_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L142"}, {"id": "crud_oa_approval_create_role", "label": "create_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L150"}, {"id": "crud_oa_approval_update_role", "label": "update_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L199"}, {"id": "crud_oa_approval_delete_role", "label": "delete_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L232"}, {"id": "crud_oa_approval_list_role_users", "label": "list_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L245"}, {"id": "crud_oa_approval_replace_role_users", "label": "replace_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L269"}, {"id": "crud_oa_approval_list_oa_role_user_ids", "label": "list_oa_role_user_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L320"}, {"id": "crud_oa_approval_group_to_dict", "label": "_group_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L359"}, {"id": "crud_oa_approval_list_groups", "label": "list_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L371"}, {"id": "crud_oa_approval_get_group", "label": "get_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L381"}, {"id": "crud_oa_approval_create_group", "label": "create_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L389"}, {"id": "crud_oa_approval_update_group", "label": "update_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L421"}, {"id": "crud_oa_approval_delete_group", "label": "delete_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L451"}, {"id": "crud_oa_approval_app_to_dict", "label": "_app_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L474"}, {"id": "crud_oa_approval_get_app", "label": "get_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L497"}, {"id": "crud_oa_approval_list_apps", "label": "list_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L505"}, {"id": "crud_oa_approval_create_version", "label": "_create_version()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L565"}, {"id": "crud_oa_approval_create_app", "label": "create_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L602"}, {"id": "crud_oa_approval_update_app", "label": "update_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L666"}, {"id": "crud_oa_approval_delete_app", "label": "delete_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L728"}, {"id": "crud_oa_approval_find_draft", "label": "_find_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L749"}, {"id": "crud_oa_approval_find_latest_published", "label": "_find_latest_published()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L763"}, {"id": "crud_oa_approval_version_draft_to_dict", "label": "_version_draft_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L776"}, {"id": "crud_oa_approval_get_or_create_draft", "label": "get_or_create_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L809"}, {"id": "crud_oa_approval_save_draft", "label": "save_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L856"}, {"id": "crud_oa_approval_rationale_1", "label": "OA \u5ba1\u6279 CRUD\uff08\u5de5\u4f5c\u6d41\u89d2\u8272\u3001\u5206\u7ec4\u3001\u5e94\u7528\u3001\u8349\u7a3f\u7b49\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1"}, {"id": "crud_oa_approval_rationale_64", "label": "\u5e42\u7b49\u5199\u5165\u9884\u7f6e\u89d2\u8272 GM / CHAIRMAN\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L64"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_role_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L47", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_ensure_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_member_count_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L104", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L142", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L150", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L232", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_replace_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L269", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_oa_role_user_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L320", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_group_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L359", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L371", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L389", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L451", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_app_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L474", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L497", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L505", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L565", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L602", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L666", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L728", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_find_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L749", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_find_latest_published", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L763", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_version_draft_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L776", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_or_create_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L809", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_save_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L856", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_ensure_presets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L129", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_member_count_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_role_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L139", "weight": 1.0}, {"source": "crud_oa_approval_update_role", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L210", "weight": 1.0}, {"source": "crud_oa_approval_delete_role", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L233", "weight": 1.0}, {"source": "crud_oa_approval_replace_role_users", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L277", "weight": 1.0}, {"source": "crud_oa_approval_list_groups", "target": "crud_oa_approval_group_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L378", "weight": 1.0}, {"source": "crud_oa_approval_update_group", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L431", "weight": 1.0}, {"source": "crud_oa_approval_delete_group", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L452", "weight": 1.0}, {"source": "crud_oa_approval_app_to_dict", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L483", "weight": 1.0}, {"source": "crud_oa_approval_list_apps", "target": "crud_oa_approval_app_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L555", "weight": 1.0}, {"source": "crud_oa_approval_create_version", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L585", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L625", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L635", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_create_version", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L650", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L684", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L696", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L709", "weight": 1.0}, {"source": "crud_oa_approval_delete_app", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L729", "weight": 1.0}, {"source": "crud_oa_approval_version_draft_to_dict", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L777", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L812", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_find_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L815", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_version_draft_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L817", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_find_latest_published", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L818", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_create_version", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L821", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L827", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L867", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_get_or_create_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L871", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_find_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L872", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_update_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L891", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L898", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_version_draft_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L914", "weight": 1.0}, {"source": "crud_oa_approval_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1", "weight": 1.0}, {"source": "crud_oa_approval_rationale_64", "target": "crud_oa_approval_ensure_presets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L64", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_oa_approval_dumps", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L26"}, {"caller_nid": "crud_oa_approval_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L28"}, {"caller_nid": "crud_oa_approval_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L34"}, {"caller_nid": "crud_oa_approval_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L37"}, {"caller_nid": "crud_oa_approval_role_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L58"}, {"caller_nid": "crud_oa_approval_role_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L59"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L65"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L69"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L69"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L69"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "OaRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L79"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L80"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L95"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L96"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L98"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L100"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L108"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L108"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L108"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L110"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L118"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L130"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L130"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L131"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L134"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L134"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L134"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L136"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L139"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L144"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L144"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L144"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L161"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L162"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L162"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L164"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L166"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L168"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L170"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L170"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L170"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L175"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L176"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "OaRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L177"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L178"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L185"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L193"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L194"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L195"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L212"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L214"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L216"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L223"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L225"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L226"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L227"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L228"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L235"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L237"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L240"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L241"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L242"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "outerjoin", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L248"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L258"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L279"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L280"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L282"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L282"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L282"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L294"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L295"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L297"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L300"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L301"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "OaRoleUser", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L302"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L303"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L317"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L325"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L325"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L325"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L327"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L337"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L337"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L337"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L339"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L339"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L346"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L349"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L350"}, {"caller_nid": "crud_oa_approval_group_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L366"}, {"caller_nid": "crud_oa_approval_group_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L367"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L375"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L375"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L383"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L383"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L383"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L398"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L400"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L401"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "OaAppGroup", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L402"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L403"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L407"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L415"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L416"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L417"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L433"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L435"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L437"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L442"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L444"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L445"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L446"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L447"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L454"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L456"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L456"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L456"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L461"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L464"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L465"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L466"}, {"caller_nid": "crud_oa_approval_app_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L492"}, {"caller_nid": "crud_oa_approval_app_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L493"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L499"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L499"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L499"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L513"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L513"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L515"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L517"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L518"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L521"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L521"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L523"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L527"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L527"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L527"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L528"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L535"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L535"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L535"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L545"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L545"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L545"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L554"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L557"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L558"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L578"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "OaAppVersion", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L579"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L580"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L598"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L619"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L621"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L622"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L623"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L624"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L626"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L627"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "OaApp", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L628"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L629"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L632"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L633"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L641"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L649"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L661"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L662"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L686"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L688"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L690"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L691"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L692"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L695"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L697"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L700"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L702"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L703"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L704"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L719"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L721"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L722"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L723"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L724"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L731"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L732"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L736"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L738"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L738"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L738"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L745"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L746"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L758"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L765"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L765"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L765"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L778"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L779"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L781"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L782"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L805"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L814"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L836"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L851"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L852"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L869"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L874"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L895"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L896"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L902"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L903"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L904"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L910"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L911"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L912"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/de3803c7e9ddbadc627c27d56428eec1c259772b4f5bf4e06a8085bcb563b363.json b/backend/app/graphify-out/cache/ast/de3803c7e9ddbadc627c27d56428eec1c259772b4f5bf4e06a8085bcb563b363.json new file mode 100644 index 00000000..4ab61dae --- /dev/null +++ b/backend/app/graphify-out/cache/ast/de3803c7e9ddbadc627c27d56428eec1c259772b4f5bf4e06a8085bcb563b363.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L117"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L236"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L277"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L343"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L434"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L636"}, {"id": "services_oa_engine_rationale_286", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L236", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L434", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L445", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L471", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L521", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L636", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L152", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L153", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L165", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L167", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L180", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L191", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L333", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L357", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L358", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L363", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L421", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L431", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L441", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L446", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L464", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L465", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L467", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L513", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L518", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L532", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L546", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L591", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L628", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L631", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L639", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L641", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L649", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L668", "weight": 1.0}, {"source": "services_oa_engine_rationale_286", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L286", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L69"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L70"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L71"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L95"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L112"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L113"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L121"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L133"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L150"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L154"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L181"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L190"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L193"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L203"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L206"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L210"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L211"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L213"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L214"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L231"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L239"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L241"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L242"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L244"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L248"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L250"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L254"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L256"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L257"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L258"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L261"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L262"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L264"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L265"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L270"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L270"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L305"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L313"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L314"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L317"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L330"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L336"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L355"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L359"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L364"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L371"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L377"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L378"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L379"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L382"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L400"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L403"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L404"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L405"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L429"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L430"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L447"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L449"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L454"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L460"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L478"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L480"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L480"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L488"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L488"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L493"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L496"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L496"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L504"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L504"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L504"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L504"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L510"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L517"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L517"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L517"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L530"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L535"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L551"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L562"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L563"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L567"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L572"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L572"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L572"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L585"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L589"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L590"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L594"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L596"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L596"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L596"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L607"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L613"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L625"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L632"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L645"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L645"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L645"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L649"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L650"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L653"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L657"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L659"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L659"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L659"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L666"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L667"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/e3604527668978c7a3c671768f42fd7d91d855f50e8f3273a000b9aefdf36b5b.json b/backend/app/graphify-out/cache/ast/e3604527668978c7a3c671768f42fd7d91d855f50e8f3273a000b9aefdf36b5b.json new file mode 100644 index 00000000..bab0a978 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/e3604527668978c7a3c671768f42fd7d91d855f50e8f3273a000b9aefdf36b5b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L1"}, {"id": "api_oa_approval_get_tenant_no", "label": "_get_tenant_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17"}, {"id": "api_oa_approval_oarolecreatebody", "label": "OaRoleCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_oa_approval_oaroleupdatebody", "label": "OaRoleUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43"}, {"id": "api_oa_approval_oaroleusersbody", "label": "OaRoleUsersBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51"}, {"id": "api_oa_approval_list_oa_roles", "label": "list_oa_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57"}, {"id": "api_oa_approval_ensure_oa_role_presets", "label": "ensure_oa_role_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69"}, {"id": "api_oa_approval_create_oa_role", "label": "create_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82"}, {"id": "api_oa_approval_update_oa_role", "label": "update_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105"}, {"id": "api_oa_approval_delete_oa_role", "label": "delete_oa_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130"}, {"id": "api_oa_approval_list_oa_role_users", "label": "list_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144"}, {"id": "api_oa_approval_replace_oa_role_users", "label": "replace_oa_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156"}, {"id": "api_oa_approval_oagroupcreatebody", "label": "OaGroupCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184"}, {"id": "api_oa_approval_oagroupupdatebody", "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191"}, {"id": "api_oa_approval_list_oa_groups", "label": "list_oa_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199"}, {"id": "api_oa_approval_create_oa_group", "label": "create_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208"}, {"id": "api_oa_approval_update_oa_group", "label": "update_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229"}, {"id": "api_oa_approval_delete_oa_group", "label": "delete_oa_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253"}, {"id": "api_oa_approval_oaappcreatebody", "label": "OaAppCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271"}, {"id": "api_oa_approval_oaappupdatebody", "label": "OaAppUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286"}, {"id": "api_oa_approval_oadraftsavebody", "label": "OaDraftSaveBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301"}, {"id": "api_oa_approval_list_oa_apps", "label": "list_oa_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310"}, {"id": "api_oa_approval_create_oa_app", "label": "create_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325"}, {"id": "api_oa_approval_update_oa_app", "label": "update_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361"}, {"id": "api_oa_approval_delete_oa_app", "label": "delete_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381"}, {"id": "api_oa_approval_get_oa_app_draft", "label": "get_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395"}, {"id": "api_oa_approval_save_oa_app_draft", "label": "save_oa_app_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411"}, {"id": "api_oa_approval_publish_oa_app", "label": "publish_oa_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435"}, {"id": "api_oa_approval_oastartinstancebody", "label": "OaStartInstanceBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456"}, {"id": "api_oa_approval_oataskactionbody", "label": "OaTaskActionBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466"}, {"id": "api_oa_approval_list_oa_templates", "label": "list_oa_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472"}, {"id": "api_oa_approval_start_oa_instance", "label": "start_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L484"}, {"id": "api_oa_approval_get_oa_instance", "label": "get_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L510"}, {"id": "api_oa_approval_list_oa_tasks", "label": "list_oa_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L525"}, {"id": "api_oa_approval_approve_oa_task", "label": "approve_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L543"}, {"id": "api_oa_approval_reject_oa_task", "label": "reject_oa_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L567"}, {"id": "api_oa_approval_withdraw_oa_instance", "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L591"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oarolecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "api_oa_approval_oarolecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "api_oa_approval_oaroleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaroleusersbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "api_oa_approval_oaroleusersbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L57", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_ensure_oa_role_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L82", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L144", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_replace_oa_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "api_oa_approval_oagroupcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oagroupupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "api_oa_approval_oagroupupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L191", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L208", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "api_oa_approval_oaappcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L271", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oaappupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "api_oa_approval_oaappupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oadraftsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "api_oa_approval_oadraftsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_create_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_update_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L361", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_delete_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L395", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_save_oa_app_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_publish_oa_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L435", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oastartinstancebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "api_oa_approval_oastartinstancebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L456", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_oataskactionbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "api_oa_approval_oataskactionbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L472", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_start_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L484", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_get_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L510", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_list_oa_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L525", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_approve_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L543", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_reject_oa_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L567", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_oa_approval_py", "target": "api_oa_approval_withdraw_oa_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L591", "weight": 1.0}, {"source": "api_oa_approval_list_oa_roles", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "api_oa_approval_ensure_oa_role_presets", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L73", "weight": 1.0}, {"source": "api_oa_approval_create_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L88", "weight": 1.0}, {"source": "api_oa_approval_update_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L112", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_role", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L136", "weight": 1.0}, {"source": "api_oa_approval_list_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L149", "weight": 1.0}, {"source": "api_oa_approval_replace_oa_role_users", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L163", "weight": 1.0}, {"source": "api_oa_approval_list_oa_groups", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L203", "weight": 1.0}, {"source": "api_oa_approval_create_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L214", "weight": 1.0}, {"source": "api_oa_approval_update_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L236", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_group", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L259", "weight": 1.0}, {"source": "api_oa_approval_list_oa_apps", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L317", "weight": 1.0}, {"source": "api_oa_approval_create_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L331", "weight": 1.0}, {"source": "api_oa_approval_update_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L368", "weight": 1.0}, {"source": "api_oa_approval_delete_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L387", "weight": 1.0}, {"source": "api_oa_approval_get_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L401", "weight": 1.0}, {"source": "api_oa_approval_save_oa_app_draft", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L418", "weight": 1.0}, {"source": "api_oa_approval_publish_oa_app", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L442", "weight": 1.0}, {"source": "api_oa_approval_list_oa_templates", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L478", "weight": 1.0}, {"source": "api_oa_approval_start_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L492", "weight": 1.0}, {"source": "api_oa_approval_get_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L518", "weight": 1.0}, {"source": "api_oa_approval_list_oa_tasks", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L533", "weight": 1.0}, {"source": "api_oa_approval_approve_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L552", "weight": 1.0}, {"source": "api_oa_approval_reject_oa_task", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L576", "weight": 1.0}, {"source": "api_oa_approval_withdraw_oa_instance", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L599", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_oa_approval_get_tenant_no", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L18"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L21"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_get_tenant_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L23"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "list_roles", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L64"}, {"caller_nid": "api_oa_approval_list_oa_roles", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L65"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "ensure_presets", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L74"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L75"}, {"caller_nid": "api_oa_approval_ensure_oa_role_presets", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L76"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "create_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L89"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L97"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L99"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_create_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L101"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L113"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "update_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L114"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L118"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L119"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L120"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L121"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L122"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "_role_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L124"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_update_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L126"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "delete_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L137"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L138"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_delete_oa_role", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L140"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "get_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L150"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L151"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_list_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L152"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "replace_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L164"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L169"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L171"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "list_role_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L172"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_replace_oa_role_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L176"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_list_oa_groups", "callee": "list_groups", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L204"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "create_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L215"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L221"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L223"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_create_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L225"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L237"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "update_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L238"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L242"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L243"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L244"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L245"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "_group_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L247"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_update_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L249"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "delete_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L260"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L261"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_delete_oa_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L263"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "list_apps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L318"}, {"caller_nid": "api_oa_approval_list_oa_apps", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L321"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "create_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L332"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L346"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L350"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L352"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L353"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_create_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L357"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L369"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "update_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L370"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "get_group", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L373"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "_app_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L375"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_update_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L377"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "delete_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L388"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L389"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_delete_oa_app", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L391"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get_or_create_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L402"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L403"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L405"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_get_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L407"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "save_draft", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L419"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L427"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L429"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_save_oa_app_draft", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L431"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "publish_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L443"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L444"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L447"}, {"caller_nid": "api_oa_approval_publish_oa_app", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L448"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "list_templates", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L479"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L479"}, {"caller_nid": "api_oa_approval_list_oa_templates", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L480"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "start_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L493"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L497"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L504"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L506"}, {"caller_nid": "api_oa_approval_start_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L506"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L519"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "get_instance_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L519"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L521"}, {"caller_nid": "api_oa_approval_get_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L521"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L534"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L535"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L537"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L539"}, {"caller_nid": "api_oa_approval_list_oa_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L539"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L553"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L557"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L561"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L563"}, {"caller_nid": "api_oa_approval_approve_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L563"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L577"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L581"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L585"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L587"}, {"caller_nid": "api_oa_approval_reject_oa_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L587"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "withdraw_instance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L600"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L601"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L603"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L605"}, {"caller_nid": "api_oa_approval_withdraw_oa_instance", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/oa_approval.py", "source_location": "L605"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/e6bf0b96f69d058adfbf35f898ef1a27ead3cf4f29287ef5ab088bd5cee9c533.json b/backend/app/graphify-out/cache/ast/e6bf0b96f69d058adfbf35f898ef1a27ead3cf4f29287ef5ab088bd5cee9c533.json new file mode 100644 index 00000000..4ce225ba --- /dev/null +++ b/backend/app/graphify-out/cache/ast/e6bf0b96f69d058adfbf35f898ef1a27ead3cf4f29287ef5ab088bd5cee9c533.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "label": "oa_engine.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1"}, {"id": "services_oa_engine_oaengineerror", "label": "OaEngineError", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17"}, {"id": "valueerror", "label": "ValueError", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "services_oa_engine_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21"}, {"id": "services_oa_engine_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32"}, {"id": "services_oa_engine_node_type", "label": "_node_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36"}, {"id": "services_oa_engine_flow_root", "label": "_flow_root()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40"}, {"id": "services_oa_engine_find_node", "label": "_find_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48"}, {"id": "services_oa_engine_advanced", "label": "_advanced()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66"}, {"id": "services_oa_engine_check_initiator_scope", "label": "_check_initiator_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75"}, {"id": "services_oa_engine_instance_to_dict", "label": "_instance_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84"}, {"id": "services_oa_engine_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100"}, {"id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118"}, {"id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126"}, {"id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156"}, {"id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L189"}, {"id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217"}, {"id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232"}, {"id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L240"}, {"id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366"}, {"id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L416"}, {"id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481"}, {"id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L522"}, {"id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L588"}, {"id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L679"}, {"id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690"}, {"id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L727"}, {"id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L777"}, {"id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L898"}, {"id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1011"}, {"id": "services_oa_engine_rationale_375", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375"}, {"id": "services_oa_engine_rationale_531", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L531"}, {"id": "services_oa_engine_rationale_907", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L907"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_assignee", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "app_services_oa_formula", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_oaengineerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "services_oa_engine_oaengineerror", "target": "valueerror", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_node_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_flow_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_find_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advanced", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_check_initiator_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_instance_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_user_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L118", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_role_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L189", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_assignee_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L217", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_people", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L232", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_walk_preview_nodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L240", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_preview_start_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L366", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_create_tasks_for_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L416", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_match_condition_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L481", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_advance_from", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L522", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_start_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L588", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L679", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_get_instance_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L727", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L777", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_add_sign", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L898", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_services_oa_engine_py", "target": "services_oa_engine_withdraw_instance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1011", "weight": 1.0}, {"source": "services_oa_engine_flow_root", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L42", "weight": 1.0}, {"source": "services_oa_engine_advanced", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "services_oa_engine_check_initiator_scope", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "services_oa_engine_instance_to_dict", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L162", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L174", "weight": 1.0}, {"source": "services_oa_engine_get_template_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "services_oa_engine_assignee_meta", "target": "services_oa_engine_role_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L221", "weight": 1.0}, {"source": "services_oa_engine_preview_people", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L233", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L253", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_preview_people", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L255", "weight": 1.0}, {"source": "services_oa_engine_walk_preview_nodes", "target": "services_oa_engine_assignee_meta", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L326", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L378", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L379", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L397", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_walk_preview_nodes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L403", "weight": 1.0}, {"source": "services_oa_engine_preview_start_flow", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L409", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L425", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L436", "weight": 1.0}, {"source": "services_oa_engine_create_tasks_for_node", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L448", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L532", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L532", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_node_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_create_tasks_for_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L565", "weight": 1.0}, {"source": "services_oa_engine_advance_from", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L578", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L602", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L603", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L608", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L630", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L666", "weight": 1.0}, {"source": "services_oa_engine_start_instance", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L676", "weight": 1.0}, {"source": "services_oa_engine_get_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L686", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L691", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_user_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L709", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L714", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L721", "weight": 1.0}, {"source": "services_oa_engine_get_instance_detail", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L722", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_instance_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L769", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L771", "weight": 1.0}, {"source": "services_oa_engine_list_tasks", "target": "services_oa_engine_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L774", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L788", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L802", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L814", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L851", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_flow_root", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L889", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L889", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_find_node", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L890", "weight": 1.0}, {"source": "services_oa_engine_complete_task", "target": "services_oa_engine_advance_from", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L893", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L914", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L920", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L931", "weight": 1.0}, {"source": "services_oa_engine_add_sign", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1008", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1014", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_oaengineerror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1016", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1024", "weight": 1.0}, {"source": "services_oa_engine_withdraw_instance", "target": "services_oa_engine_get_instance_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1043", "weight": 1.0}, {"source": "services_oa_engine_rationale_375", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L375", "weight": 1.0}, {"source": "services_oa_engine_rationale_531", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L531", "weight": 1.0}, {"source": "services_oa_engine_rationale_907", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L907", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_oa_engine_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L24"}, {"caller_nid": "services_oa_engine_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L27"}, {"caller_nid": "services_oa_engine_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L33"}, {"caller_nid": "services_oa_engine_node_type", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_node_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L37"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L41"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_flow_root", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L43"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L51"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L53"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L54"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L58"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_find_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L59"}, {"caller_nid": "services_oa_engine_advanced", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L68"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L69"}, {"caller_nid": "services_oa_engine_advanced", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L70"}, {"caller_nid": "services_oa_engine_advanced", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L71"}, {"caller_nid": "services_oa_engine_check_initiator_scope", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L76"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L95"}, {"caller_nid": "services_oa_engine_instance_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L96"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L113"}, {"caller_nid": "services_oa_engine_task_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L114"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L119"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_user_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L122"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L128"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L130"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L135"}, {"caller_nid": "services_oa_engine_list_templates", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L142"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L159"}, {"caller_nid": "services_oa_engine_get_template_detail", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L163"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L191"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L191"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L191"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L191"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L192"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L192"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L192"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L192"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L192"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L195"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L196"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "extend", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L199"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L202"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L202"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L202"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L205"}, {"caller_nid": "services_oa_engine_role_name_map", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L213"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L218"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L218"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L218"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L219"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L224"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L225"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L225"}, {"caller_nid": "services_oa_engine_assignee_meta", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L228"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L236"}, {"caller_nid": "services_oa_engine_preview_people", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L236"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L252"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L256"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L258"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L260"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L268"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L272"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L274"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L276"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L287"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L289"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L291"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L293"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L293"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L295"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L303"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L304"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L315"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L319"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L320"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L321"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L321"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L321"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L331"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L336"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L347"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L348"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L350"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L352"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L360"}, {"caller_nid": "services_oa_engine_walk_preview_nodes", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L363"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L376"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L380"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L385"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L393"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L398"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L398"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L399"}, {"caller_nid": "services_oa_engine_preview_start_flow", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L400"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L426"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L435"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "resolve_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L438"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L448"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L450"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L451"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L455"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L456"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L458"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L459"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L476"}, {"caller_nid": "services_oa_engine_create_tasks_for_node", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L477"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L484"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L486"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L487"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L489"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L493"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L495"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L499"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L501"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L502"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L503"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L506"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L507"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L509"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L510"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "eval_formula", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515"}, {"caller_nid": "services_oa_engine_match_condition_group", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L515"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L548"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L550"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L558"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L559"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L562"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L575"}, {"caller_nid": "services_oa_engine_advance_from", "callee": "next_node", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L581"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L600"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "_find_latest_published", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L604"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L609"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "apply_formulas_and_linkages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L611"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L616"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L620"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L622"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaInstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L623"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L624"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L627"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L642"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L645"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L648"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "OaRelation", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L649"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L650"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L674"}, {"caller_nid": "services_oa_engine_start_instance", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L675"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L681"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L681"}, {"caller_nid": "services_oa_engine_get_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L681"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get_app", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L692"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L694"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L694"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L694"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L699"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L699"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L699"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L699"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L701"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L705"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L705"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L705"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L715"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L717"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L722"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L723"}, {"caller_nid": "services_oa_engine_get_instance_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L723"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L734"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L736"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L736"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L744"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L744"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L749"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L752"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L760"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L766"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L773"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L786"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L791"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L791"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L791"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L807"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L807"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L807"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L815"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L815"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L818"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L819"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L823"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L826"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L831"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L831"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L831"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L845"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L849"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L850"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L854"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L856"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L868"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L874"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L874"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L874"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L887"}, {"caller_nid": "services_oa_engine_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L894"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L909"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L909"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L909"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L925"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L925"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L925"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L932"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L936"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L938"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L941"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L942"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L948"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L948"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L948"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L957"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L964"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L964"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L964"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L975"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "OaTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L976"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L977"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L989"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1003"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1006"}, {"caller_nid": "services_oa_engine_add_sign", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1007"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1020"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1020"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1020"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1024"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1025"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1028"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1032"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1034"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1034"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1034"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1041"}, {"caller_nid": "services_oa_engine_withdraw_instance", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/services/oa_engine.py", "source_location": "L1042"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/f4e21297604372f823007b030f8df5b7d2b1490d187b6841e48d58285d267f4c.json b/backend/app/graphify-out/cache/ast/f4e21297604372f823007b030f8df5b7d2b1490d187b6841e48d58285d267f4c.json new file mode 100644 index 00000000..bcf6a521 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/f4e21297604372f823007b030f8df5b7d2b1490d187b6841e48d58285d267f4c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "label": "admin.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1"}, {"id": "api_admin_list_roles_for_select", "label": "list_roles_for_select()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L41"}, {"id": "api_admin_list_users_for_select", "label": "list_users_for_select()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L73"}, {"id": "api_admin_list_roles_for_designer", "label": "list_roles_for_designer()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L106"}, {"id": "api_admin_tenantcreatebody", "label": "TenantCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L126"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_admin_tenantupdatebody", "label": "TenantUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L137"}, {"id": "api_admin_list_tenants", "label": "list_tenants()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L149"}, {"id": "api_admin_create_tenant", "label": "create_tenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L170"}, {"id": "api_admin_update_tenant", "label": "update_tenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L192"}, {"id": "api_admin_delete_tenant", "label": "delete_tenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L217"}, {"id": "api_admin_get_tenant_no", "label": "_get_tenant_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L234"}, {"id": "api_admin_usercreatebody", "label": "UserCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L247"}, {"id": "api_admin_userupdatebody", "label": "UserUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L265"}, {"id": "api_admin_list_users", "label": "list_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L282"}, {"id": "api_admin_get_user_by_id", "label": "get_user_by_id()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L347"}, {"id": "api_admin_create_user", "label": "create_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L363"}, {"id": "api_admin_update_user", "label": "update_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L397"}, {"id": "api_admin_delete_user", "label": "delete_user()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L428"}, {"id": "api_admin_reset_user_password", "label": "reset_user_password()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L441"}, {"id": "api_admin_dicttypecreatebody", "label": "DictTypeCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L458"}, {"id": "api_admin_dicttypeupdatebody", "label": "DictTypeUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L467"}, {"id": "api_admin_list_dict_types", "label": "list_dict_types()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L477"}, {"id": "api_admin_create_dict_type", "label": "create_dict_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L493"}, {"id": "api_admin_update_dict_type", "label": "update_dict_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L515"}, {"id": "api_admin_delete_dict_type", "label": "delete_dict_type()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L540"}, {"id": "api_admin_dictdatacreatebody", "label": "DictDataCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L557"}, {"id": "api_admin_dictdataupdatebody", "label": "DictDataUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L567"}, {"id": "api_admin_list_dict_data", "label": "list_dict_data()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L577"}, {"id": "api_admin_create_dict_data", "label": "create_dict_data()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L594"}, {"id": "api_admin_update_dict_data", "label": "update_dict_data()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L617"}, {"id": "api_admin_delete_dict_data", "label": "delete_dict_data()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L640"}, {"id": "api_admin_dict_data_options", "label": "dict_data_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L653"}, {"id": "api_admin_deptcreatebody", "label": "DeptCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L668"}, {"id": "api_admin_deptupdatebody", "label": "DeptUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L682"}, {"id": "api_admin_list_depts", "label": "list_depts()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L696"}, {"id": "api_admin_create_dept", "label": "create_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L707"}, {"id": "api_admin_update_dept", "label": "update_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L734"}, {"id": "api_admin_delete_dept", "label": "delete_dept()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L761"}, {"id": "api_admin_sitecreatebody", "label": "SiteCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L778"}, {"id": "api_admin_siteupdatebody", "label": "SiteUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L794"}, {"id": "api_admin_list_sites", "label": "list_sites()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L811"}, {"id": "api_admin_create_site", "label": "create_site()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L825"}, {"id": "api_admin_update_site", "label": "update_site()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L854"}, {"id": "api_admin_delete_site", "label": "delete_site()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L884"}, {"id": "api_admin_postcreatebody", "label": "PostCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L901"}, {"id": "api_admin_postupdatebody", "label": "PostUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L911"}, {"id": "api_admin_list_posts", "label": "list_posts()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L922"}, {"id": "api_admin_create_post", "label": "create_post()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L936"}, {"id": "api_admin_update_post", "label": "update_post()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L959"}, {"id": "api_admin_delete_post", "label": "delete_post()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L983"}, {"id": "api_admin_postusersupdatebody", "label": "PostUsersUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L995"}, {"id": "api_admin_list_post_bound_users", "label": "list_post_bound_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1002"}, {"id": "api_admin_update_post_bound_users", "label": "update_post_bound_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1016"}, {"id": "api_admin_itemunitcreatebody", "label": "ItemUnitCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1040"}, {"id": "api_admin_itemunitupdatebody", "label": "ItemUnitUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1049"}, {"id": "api_admin_list_item_units", "label": "list_item_units()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1059"}, {"id": "api_admin_create_item_unit", "label": "create_item_unit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1073"}, {"id": "api_admin_update_item_unit", "label": "update_item_unit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1095"}, {"id": "api_admin_delete_item_unit", "label": "delete_item_unit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1118"}, {"id": "api_admin_expresscompanycreatebody", "label": "ExpressCompanyCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1135"}, {"id": "api_admin_expresscompanyupdatebody", "label": "ExpressCompanyUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1145"}, {"id": "api_admin_list_express_companies", "label": "list_express_companies()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1156"}, {"id": "api_admin_create_express_company", "label": "create_express_company()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1170"}, {"id": "api_admin_update_express_company", "label": "update_express_company()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1193"}, {"id": "api_admin_delete_express_company", "label": "delete_express_company()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1217"}, {"id": "api_admin_menucreatebody", "label": "MenuCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1234"}, {"id": "api_admin_menuupdatebody", "label": "MenuUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1250"}, {"id": "api_admin_list_menus", "label": "list_menus()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1267"}, {"id": "api_admin_create_menu", "label": "create_menu()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1278"}, {"id": "api_admin_update_menu", "label": "update_menu()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1307"}, {"id": "api_admin_delete_menu", "label": "delete_menu()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1337"}, {"id": "api_admin_rolecreatebody", "label": "RoleCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1354"}, {"id": "api_admin_roleupdatebody", "label": "RoleUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1364"}, {"id": "api_admin_rolemenubody", "label": "RoleMenuBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1374"}, {"id": "api_admin_roledatascopebody", "label": "RoleDataScopeBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1378"}, {"id": "api_admin_list_role_management", "label": "list_role_management()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1386"}, {"id": "api_admin_create_role_management", "label": "create_role_management()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1400"}, {"id": "api_admin_update_role_management", "label": "update_role_management()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1423"}, {"id": "api_admin_delete_role_management", "label": "delete_role_management()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1447"}, {"id": "api_admin_get_role_menus", "label": "get_role_menus()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1460"}, {"id": "api_admin_update_role_menus", "label": "update_role_menus()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1470"}, {"id": "api_admin_get_role_data_scope", "label": "get_role_data_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1485"}, {"id": "api_admin_update_role_data_scope", "label": "update_role_data_scope()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1498"}, {"id": "api_admin_format_file_size", "label": "_format_file_size()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1524"}, {"id": "api_admin_upload_attachment", "label": "upload_attachment()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1534"}, {"id": "api_admin_attachmentdownloadurlbody", "label": "AttachmentDownloadUrlBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1580"}, {"id": "api_admin_attachment_download_url", "label": "attachment_download_url()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1587"}, {"id": "api_admin_rationale_45", "label": "\u8fd4\u56de\u8fd0\u8425\u7aef\u89d2\u8272\u4e0b\u62c9\u9009\u9879\uff08label=\u5e93\u4e2d\u89d2\u8272\u540d\uff0cvalue=Web \u89d2\u8272\u7801\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L45"}, {"id": "api_admin_rationale_78", "label": "\u8fd4\u56de\u7528\u6237\u4e0b\u62c9\u9009\u9879\uff08label=\u6635\u79f0\uff0cvalue=\u7528\u6237ID\uff09\uff0c\u4f9b\u6d41\u7a0b\u8bbe\u8ba1\u5668\u5ba1\u6279\u4eba\u9009\u62e9\u4f7f\u7528\u3002 \u53ef\u9009 roleName\uff1a\u6309 sys_role.role_na", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L78"}, {"id": "api_admin_rationale_110", "label": "\u8fd4\u56de\u89d2\u8272\u4e0b\u62c9\u9009\u9879\uff08label=\u89d2\u8272\u540d\uff0cvalue=\u89d2\u8272ID UUID\uff09\uff0c\u4f9b\u6d41\u7a0b\u8bbe\u8ba1\u5668\u5ba1\u6279\u4eba\u9009\u62e9\u4f7f\u7528\u3002 \u4e0e /roles \u4e0d\u540c\uff0c\u6b64\u7aef\u70b9\u8fd4\u56de\u89d2\u8272 UUID", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L110"}, {"id": "api_admin_rationale_1592", "label": "\u8fd4\u56de\u5e26 Content-Disposition \u7684\u4e0b\u8f7d URL\uff0c\u4fdd\u8bc1\u6d4f\u89c8\u5668\u4f7f\u7528\u539f\u59cb\u6587\u4ef6\u540d\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1592"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "os", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "uuid", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_core_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_core_data_scope", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_core_storage", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_crud_collection_protocol", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "app_services_web_auth_roles", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_roles_for_select", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_users_for_select", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L73", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_roles_for_designer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L106", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_tenantcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L126", "weight": 1.0}, {"source": "api_admin_tenantcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_tenantupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L137", "weight": 1.0}, {"source": "api_admin_tenantupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L137", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_tenants", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L149", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L170", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L192", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L217", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_get_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L234", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_usercreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L247", "weight": 1.0}, {"source": "api_admin_usercreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L247", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_userupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L265", "weight": 1.0}, {"source": "api_admin_userupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L265", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L282", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_get_user_by_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L363", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L397", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L428", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_reset_user_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L441", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_dicttypecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L458", "weight": 1.0}, {"source": "api_admin_dicttypecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L458", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_dicttypeupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L467", "weight": 1.0}, {"source": "api_admin_dicttypeupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_dict_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L477", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_dict_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L493", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_dict_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L515", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_dict_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L540", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_dictdatacreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L557", "weight": 1.0}, {"source": "api_admin_dictdatacreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L557", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_dictdataupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L567", "weight": 1.0}, {"source": "api_admin_dictdataupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L567", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_dict_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L577", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_dict_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L594", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_dict_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L617", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_dict_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L640", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_dict_data_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L653", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_deptcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L668", "weight": 1.0}, {"source": "api_admin_deptcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L668", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_deptupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L682", "weight": 1.0}, {"source": "api_admin_deptupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L682", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_depts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L696", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L707", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L734", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_dept", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L761", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_sitecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L778", "weight": 1.0}, {"source": "api_admin_sitecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L778", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_siteupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L794", "weight": 1.0}, {"source": "api_admin_siteupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L794", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_sites", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L811", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_site", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L825", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_site", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L854", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_site", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L884", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_postcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L901", "weight": 1.0}, {"source": "api_admin_postcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L901", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_postupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L911", "weight": 1.0}, {"source": "api_admin_postupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L911", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_posts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L922", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L936", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L959", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L983", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_postusersupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L995", "weight": 1.0}, {"source": "api_admin_postusersupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L995", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_post_bound_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1002", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_post_bound_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1016", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_itemunitcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1040", "weight": 1.0}, {"source": "api_admin_itemunitcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1040", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_itemunitupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1049", "weight": 1.0}, {"source": "api_admin_itemunitupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1049", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_item_units", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1059", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_item_unit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1073", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_item_unit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1095", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_item_unit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1118", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_expresscompanycreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1135", "weight": 1.0}, {"source": "api_admin_expresscompanycreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1135", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_expresscompanyupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1145", "weight": 1.0}, {"source": "api_admin_expresscompanyupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1145", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_express_companies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_express_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1170", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_express_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1193", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_express_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1217", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_menucreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1234", "weight": 1.0}, {"source": "api_admin_menucreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1234", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_menuupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1250", "weight": 1.0}, {"source": "api_admin_menuupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1250", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_menus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1267", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1278", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1307", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_menu", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1337", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_rolecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1354", "weight": 1.0}, {"source": "api_admin_rolecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1354", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_roleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1364", "weight": 1.0}, {"source": "api_admin_roleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_rolemenubody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1374", "weight": 1.0}, {"source": "api_admin_rolemenubody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1374", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_roledatascopebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1378", "weight": 1.0}, {"source": "api_admin_roledatascopebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_list_role_management", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1386", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_create_role_management", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1400", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_role_management", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1423", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_delete_role_management", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_get_role_menus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1460", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_role_menus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1470", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_get_role_data_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1485", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_update_role_data_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_format_file_size", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1524", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_upload_attachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1534", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_attachmentdownloadurlbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1580", "weight": 1.0}, {"source": "api_admin_attachmentdownloadurlbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1580", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_admin_py", "target": "api_admin_attachment_download_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1587", "weight": 1.0}, {"source": "api_admin_list_users", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L292", "weight": 1.0}, {"source": "api_admin_get_user_by_id", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L352", "weight": 1.0}, {"source": "api_admin_create_user", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L369", "weight": 1.0}, {"source": "api_admin_list_dict_types", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L484", "weight": 1.0}, {"source": "api_admin_create_dict_type", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L499", "weight": 1.0}, {"source": "api_admin_update_dict_type", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L522", "weight": 1.0}, {"source": "api_admin_list_dict_data", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L585", "weight": 1.0}, {"source": "api_admin_create_dict_data", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L600", "weight": 1.0}, {"source": "api_admin_dict_data_options", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L658", "weight": 1.0}, {"source": "api_admin_list_depts", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L701", "weight": 1.0}, {"source": "api_admin_create_dept", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L713", "weight": 1.0}, {"source": "api_admin_list_sites", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L818", "weight": 1.0}, {"source": "api_admin_create_site", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L831", "weight": 1.0}, {"source": "api_admin_list_posts", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L929", "weight": 1.0}, {"source": "api_admin_create_post", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L942", "weight": 1.0}, {"source": "api_admin_list_post_bound_users", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1007", "weight": 1.0}, {"source": "api_admin_update_post_bound_users", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1022", "weight": 1.0}, {"source": "api_admin_list_item_units", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1066", "weight": 1.0}, {"source": "api_admin_create_item_unit", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1079", "weight": 1.0}, {"source": "api_admin_list_express_companies", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1163", "weight": 1.0}, {"source": "api_admin_create_express_company", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1176", "weight": 1.0}, {"source": "api_admin_list_menus", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1272", "weight": 1.0}, {"source": "api_admin_create_menu", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1284", "weight": 1.0}, {"source": "api_admin_list_role_management", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1393", "weight": 1.0}, {"source": "api_admin_create_role_management", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1406", "weight": 1.0}, {"source": "api_admin_update_role_menus", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1477", "weight": 1.0}, {"source": "api_admin_update_role_data_scope", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1505", "weight": 1.0}, {"source": "api_admin_upload_attachment", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1553", "weight": 1.0}, {"source": "api_admin_upload_attachment", "target": "api_admin_format_file_size", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1572", "weight": 1.0}, {"source": "api_admin_attachment_download_url", "target": "api_admin_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1596", "weight": 1.0}, {"source": "api_admin_rationale_45", "target": "api_admin_list_roles_for_select", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L45", "weight": 1.0}, {"source": "api_admin_rationale_78", "target": "api_admin_list_users_for_select", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L78", "weight": 1.0}, {"source": "api_admin_rationale_110", "target": "api_admin_list_roles_for_designer", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L110", "weight": 1.0}, {"source": "api_admin_rationale_1592", "target": "api_admin_attachment_download_url", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1592", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_admin_list_roles_for_select", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L47"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L47"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L47"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L47"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L49"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L52"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L55"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "_map_role_name_to_web", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L58"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L62"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L63"}, {"caller_nid": "api_admin_list_roles_for_select", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L69"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L82"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L83"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L83"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L85"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L86"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L89"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L89"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L89"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L99"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L100"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "distinct", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L100"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L100"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L100"}, {"caller_nid": "api_admin_list_users_for_select", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L102"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L112"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L113"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L113"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L115"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L116"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L116"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L116"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L117"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L117"}, {"caller_nid": "api_admin_list_roles_for_designer", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L118"}, {"caller_nid": "api_admin_list_tenants", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L157"}, {"caller_nid": "api_admin_list_tenants", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L158"}, {"caller_nid": "api_admin_create_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L184"}, {"caller_nid": "api_admin_create_tenant", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L186"}, {"caller_nid": "api_admin_create_tenant", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L186"}, {"caller_nid": "api_admin_create_tenant", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L188"}, {"caller_nid": "api_admin_create_tenant", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L188"}, {"caller_nid": "api_admin_update_tenant", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L199"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L203"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L204"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L205"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L206"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L207"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L208"}, {"caller_nid": "api_admin_update_tenant", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L209"}, {"caller_nid": "api_admin_update_tenant", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L211"}, {"caller_nid": "api_admin_update_tenant", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L211"}, {"caller_nid": "api_admin_update_tenant", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L213"}, {"caller_nid": "api_admin_update_tenant", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L213"}, {"caller_nid": "api_admin_delete_tenant", "callee": "soft_delete_tenant", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L223"}, {"caller_nid": "api_admin_delete_tenant", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L224"}, {"caller_nid": "api_admin_delete_tenant", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L226"}, {"caller_nid": "api_admin_delete_tenant", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L226"}, {"caller_nid": "api_admin_get_tenant_no", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L235"}, {"caller_nid": "api_admin_get_tenant_no", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L238"}, {"caller_nid": "api_admin_get_tenant_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L238"}, {"caller_nid": "api_admin_get_tenant_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L238"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L293"}, {"caller_nid": "api_admin_list_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L293"}, {"caller_nid": "api_admin_list_users", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L297"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L300"}, {"caller_nid": "api_admin_list_users", "callee": "or_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L301"}, {"caller_nid": "api_admin_list_users", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L302"}, {"caller_nid": "api_admin_list_users", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L303"}, {"caller_nid": "api_admin_list_users", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L304"}, {"caller_nid": "api_admin_list_users", "callee": "_get_child_dept_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L308"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L309"}, {"caller_nid": "api_admin_list_users", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L309"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L311"}, {"caller_nid": "api_admin_list_users", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L312"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L315"}, {"caller_nid": "api_admin_list_users", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L315"}, {"caller_nid": "api_admin_list_users", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L315"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L324"}, {"caller_nid": "api_admin_list_users", "callee": "apply_data_scope", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L325"}, {"caller_nid": "api_admin_list_users", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L326"}, {"caller_nid": "api_admin_list_users", "callee": "distinct", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L326"}, {"caller_nid": "api_admin_list_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L328"}, {"caller_nid": "api_admin_list_users", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L328"}, {"caller_nid": "api_admin_list_users", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L328"}, {"caller_nid": "api_admin_list_users", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L328"}, {"caller_nid": "api_admin_list_users", "callee": "distinct", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L328"}, {"caller_nid": "api_admin_list_users", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L329"}, {"caller_nid": "api_admin_list_users", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L334"}, {"caller_nid": "api_admin_list_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L337"}, {"caller_nid": "api_admin_list_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L337"}, {"caller_nid": "api_admin_list_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L337"}, {"caller_nid": "api_admin_list_users", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L337"}, {"caller_nid": "api_admin_list_users", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L340"}, {"caller_nid": "api_admin_list_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L340"}, {"caller_nid": "api_admin_list_users", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L342"}, {"caller_nid": "api_admin_list_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L343"}, {"caller_nid": "api_admin_get_user_by_id", "callee": "get_user", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L353"}, {"caller_nid": "api_admin_get_user_by_id", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L355"}, {"caller_nid": "api_admin_get_user_by_id", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L356"}, {"caller_nid": "api_admin_get_user_by_id", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L357"}, {"caller_nid": "api_admin_get_user_by_id", "callee": "get_user_with_relations", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L358"}, {"caller_nid": "api_admin_get_user_by_id", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L359"}, {"caller_nid": "api_admin_create_user", "callee": "user_no_exists", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L370"}, {"caller_nid": "api_admin_create_user", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L371"}, {"caller_nid": "api_admin_create_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L387"}, {"caller_nid": "api_admin_create_user", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L391"}, {"caller_nid": "api_admin_create_user", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L391"}, {"caller_nid": "api_admin_create_user", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L393"}, {"caller_nid": "api_admin_create_user", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L393"}, {"caller_nid": "api_admin_update_user", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L404"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L408"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L409"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L410"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L411"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L412"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L413"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L414"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L415"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L416"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L417"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L418"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L419"}, {"caller_nid": "api_admin_update_user", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L420"}, {"caller_nid": "api_admin_update_user", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L422"}, {"caller_nid": "api_admin_update_user", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L422"}, {"caller_nid": "api_admin_update_user", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L424"}, {"caller_nid": "api_admin_update_user", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L424"}, {"caller_nid": "api_admin_delete_user", "callee": "soft_delete_user", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L434"}, {"caller_nid": "api_admin_delete_user", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L435"}, {"caller_nid": "api_admin_delete_user", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L437"}, {"caller_nid": "api_admin_delete_user", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L437"}, {"caller_nid": "api_admin_reset_user_password", "callee": "reset_password", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L447"}, {"caller_nid": "api_admin_reset_user_password", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L448"}, {"caller_nid": "api_admin_reset_user_password", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L450"}, {"caller_nid": "api_admin_reset_user_password", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L450"}, {"caller_nid": "api_admin_list_dict_types", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L488"}, {"caller_nid": "api_admin_list_dict_types", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L489"}, {"caller_nid": "api_admin_create_dict_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L507"}, {"caller_nid": "api_admin_create_dict_type", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L509"}, {"caller_nid": "api_admin_create_dict_type", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L509"}, {"caller_nid": "api_admin_create_dict_type", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L511"}, {"caller_nid": "api_admin_create_dict_type", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L511"}, {"caller_nid": "api_admin_update_dict_type", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L523"}, {"caller_nid": "api_admin_update_dict_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L527"}, {"caller_nid": "api_admin_update_dict_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L528"}, {"caller_nid": "api_admin_update_dict_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L529"}, {"caller_nid": "api_admin_update_dict_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L530"}, {"caller_nid": "api_admin_update_dict_type", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L531"}, {"caller_nid": "api_admin_update_dict_type", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L534"}, {"caller_nid": "api_admin_update_dict_type", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L534"}, {"caller_nid": "api_admin_update_dict_type", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L536"}, {"caller_nid": "api_admin_update_dict_type", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L536"}, {"caller_nid": "api_admin_delete_dict_type", "callee": "soft_delete_dict_type", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L546"}, {"caller_nid": "api_admin_delete_dict_type", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L547"}, {"caller_nid": "api_admin_delete_dict_type", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L549"}, {"caller_nid": "api_admin_delete_dict_type", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L549"}, {"caller_nid": "api_admin_list_dict_data", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L589"}, {"caller_nid": "api_admin_list_dict_data", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L590"}, {"caller_nid": "api_admin_create_dict_data", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L609"}, {"caller_nid": "api_admin_create_dict_data", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L611"}, {"caller_nid": "api_admin_create_dict_data", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L611"}, {"caller_nid": "api_admin_create_dict_data", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L613"}, {"caller_nid": "api_admin_create_dict_data", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L613"}, {"caller_nid": "api_admin_update_dict_data", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L624"}, {"caller_nid": "api_admin_update_dict_data", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L628"}, {"caller_nid": "api_admin_update_dict_data", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L629"}, {"caller_nid": "api_admin_update_dict_data", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L630"}, {"caller_nid": "api_admin_update_dict_data", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L631"}, {"caller_nid": "api_admin_update_dict_data", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L632"}, {"caller_nid": "api_admin_update_dict_data", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L634"}, {"caller_nid": "api_admin_update_dict_data", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L634"}, {"caller_nid": "api_admin_update_dict_data", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L636"}, {"caller_nid": "api_admin_update_dict_data", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L636"}, {"caller_nid": "api_admin_delete_dict_data", "callee": "soft_delete_dict_data", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L646"}, {"caller_nid": "api_admin_delete_dict_data", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L647"}, {"caller_nid": "api_admin_delete_dict_data", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L649"}, {"caller_nid": "api_admin_delete_dict_data", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L649"}, {"caller_nid": "api_admin_dict_data_options", "callee": "list_dict_data_options", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L659"}, {"caller_nid": "api_admin_dict_data_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L660"}, {"caller_nid": "api_admin_list_depts", "callee": "list_depts_tree", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L702"}, {"caller_nid": "api_admin_list_depts", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L703"}, {"caller_nid": "api_admin_create_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L726"}, {"caller_nid": "api_admin_create_dept", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L728"}, {"caller_nid": "api_admin_create_dept", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L728"}, {"caller_nid": "api_admin_create_dept", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L730"}, {"caller_nid": "api_admin_create_dept", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L730"}, {"caller_nid": "api_admin_update_dept", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L741"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L745"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L746"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L747"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L748"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L749"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L750"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L751"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L752"}, {"caller_nid": "api_admin_update_dept", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L753"}, {"caller_nid": "api_admin_update_dept", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L755"}, {"caller_nid": "api_admin_update_dept", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L755"}, {"caller_nid": "api_admin_update_dept", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L757"}, {"caller_nid": "api_admin_update_dept", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L757"}, {"caller_nid": "api_admin_delete_dept", "callee": "soft_delete_dept", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L767"}, {"caller_nid": "api_admin_delete_dept", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L768"}, {"caller_nid": "api_admin_delete_dept", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L770"}, {"caller_nid": "api_admin_delete_dept", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L770"}, {"caller_nid": "api_admin_list_sites", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L820"}, {"caller_nid": "api_admin_list_sites", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L821"}, {"caller_nid": "api_admin_create_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L846"}, {"caller_nid": "api_admin_create_site", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L848"}, {"caller_nid": "api_admin_create_site", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L848"}, {"caller_nid": "api_admin_create_site", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L850"}, {"caller_nid": "api_admin_create_site", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L850"}, {"caller_nid": "api_admin_update_site", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L861"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L865"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L866"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L867"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L868"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L869"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L870"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L871"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L872"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L873"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L874"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L875"}, {"caller_nid": "api_admin_update_site", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L876"}, {"caller_nid": "api_admin_update_site", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L878"}, {"caller_nid": "api_admin_update_site", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L878"}, {"caller_nid": "api_admin_update_site", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L880"}, {"caller_nid": "api_admin_update_site", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L880"}, {"caller_nid": "api_admin_delete_site", "callee": "soft_delete_site", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L890"}, {"caller_nid": "api_admin_delete_site", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L891"}, {"caller_nid": "api_admin_delete_site", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L893"}, {"caller_nid": "api_admin_delete_site", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L893"}, {"caller_nid": "api_admin_list_posts", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L931"}, {"caller_nid": "api_admin_list_posts", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L932"}, {"caller_nid": "api_admin_create_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L951"}, {"caller_nid": "api_admin_create_post", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L953"}, {"caller_nid": "api_admin_create_post", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L953"}, {"caller_nid": "api_admin_create_post", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L955"}, {"caller_nid": "api_admin_create_post", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L955"}, {"caller_nid": "api_admin_update_post", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L966"}, {"caller_nid": "api_admin_update_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L970"}, {"caller_nid": "api_admin_update_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L971"}, {"caller_nid": "api_admin_update_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L972"}, {"caller_nid": "api_admin_update_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L973"}, {"caller_nid": "api_admin_update_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L974"}, {"caller_nid": "api_admin_update_post", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L975"}, {"caller_nid": "api_admin_update_post", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L977"}, {"caller_nid": "api_admin_update_post", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L977"}, {"caller_nid": "api_admin_update_post", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L979"}, {"caller_nid": "api_admin_update_post", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L979"}, {"caller_nid": "api_admin_delete_post", "callee": "soft_delete_post", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L989"}, {"caller_nid": "api_admin_delete_post", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L990"}, {"caller_nid": "api_admin_delete_post", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L992"}, {"caller_nid": "api_admin_delete_post", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L992"}, {"caller_nid": "api_admin_list_post_bound_users", "callee": "get_post", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1008"}, {"caller_nid": "api_admin_list_post_bound_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1010"}, {"caller_nid": "api_admin_list_post_bound_users", "callee": "list_user_ids_bound_to_post", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1011"}, {"caller_nid": "api_admin_list_post_bound_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1012"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "get_post", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1023"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1025"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "sync_post_user_bindings", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1027"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1028"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1030"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1032"}, {"caller_nid": "api_admin_update_post_bound_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1032"}, {"caller_nid": "api_admin_list_item_units", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1068"}, {"caller_nid": "api_admin_list_item_units", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1069"}, {"caller_nid": "api_admin_create_item_unit", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1087"}, {"caller_nid": "api_admin_create_item_unit", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1089"}, {"caller_nid": "api_admin_create_item_unit", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1089"}, {"caller_nid": "api_admin_create_item_unit", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1091"}, {"caller_nid": "api_admin_create_item_unit", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1091"}, {"caller_nid": "api_admin_update_item_unit", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1102"}, {"caller_nid": "api_admin_update_item_unit", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1106"}, {"caller_nid": "api_admin_update_item_unit", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1107"}, {"caller_nid": "api_admin_update_item_unit", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1108"}, {"caller_nid": "api_admin_update_item_unit", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1109"}, {"caller_nid": "api_admin_update_item_unit", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1110"}, {"caller_nid": "api_admin_update_item_unit", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1112"}, {"caller_nid": "api_admin_update_item_unit", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1112"}, {"caller_nid": "api_admin_update_item_unit", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1114"}, {"caller_nid": "api_admin_update_item_unit", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1114"}, {"caller_nid": "api_admin_delete_item_unit", "callee": "soft_delete_item_unit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1124"}, {"caller_nid": "api_admin_delete_item_unit", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1125"}, {"caller_nid": "api_admin_delete_item_unit", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1127"}, {"caller_nid": "api_admin_delete_item_unit", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1127"}, {"caller_nid": "api_admin_list_express_companies", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1165"}, {"caller_nid": "api_admin_list_express_companies", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1166"}, {"caller_nid": "api_admin_create_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1185"}, {"caller_nid": "api_admin_create_express_company", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1187"}, {"caller_nid": "api_admin_create_express_company", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1187"}, {"caller_nid": "api_admin_create_express_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1189"}, {"caller_nid": "api_admin_create_express_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1189"}, {"caller_nid": "api_admin_update_express_company", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1200"}, {"caller_nid": "api_admin_update_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1204"}, {"caller_nid": "api_admin_update_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1205"}, {"caller_nid": "api_admin_update_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1206"}, {"caller_nid": "api_admin_update_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1207"}, {"caller_nid": "api_admin_update_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1208"}, {"caller_nid": "api_admin_update_express_company", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1209"}, {"caller_nid": "api_admin_update_express_company", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1211"}, {"caller_nid": "api_admin_update_express_company", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1211"}, {"caller_nid": "api_admin_update_express_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1213"}, {"caller_nid": "api_admin_update_express_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1213"}, {"caller_nid": "api_admin_delete_express_company", "callee": "soft_delete_express_company", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1223"}, {"caller_nid": "api_admin_delete_express_company", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1224"}, {"caller_nid": "api_admin_delete_express_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1226"}, {"caller_nid": "api_admin_delete_express_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1226"}, {"caller_nid": "api_admin_list_menus", "callee": "list_menus_tree", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1273"}, {"caller_nid": "api_admin_list_menus", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1274"}, {"caller_nid": "api_admin_create_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1299"}, {"caller_nid": "api_admin_create_menu", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1301"}, {"caller_nid": "api_admin_create_menu", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1301"}, {"caller_nid": "api_admin_create_menu", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1303"}, {"caller_nid": "api_admin_create_menu", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1303"}, {"caller_nid": "api_admin_update_menu", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1314"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1318"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1319"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1320"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1321"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1322"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1323"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1324"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1325"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1326"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1327"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1328"}, {"caller_nid": "api_admin_update_menu", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1329"}, {"caller_nid": "api_admin_update_menu", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1331"}, {"caller_nid": "api_admin_update_menu", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1331"}, {"caller_nid": "api_admin_update_menu", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1333"}, {"caller_nid": "api_admin_update_menu", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1333"}, {"caller_nid": "api_admin_delete_menu", "callee": "soft_delete_menu", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1343"}, {"caller_nid": "api_admin_delete_menu", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1344"}, {"caller_nid": "api_admin_delete_menu", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1346"}, {"caller_nid": "api_admin_delete_menu", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1346"}, {"caller_nid": "api_admin_list_role_management", "callee": "list_roles", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1394"}, {"caller_nid": "api_admin_list_role_management", "callee": "total_pages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1395"}, {"caller_nid": "api_admin_list_role_management", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1396"}, {"caller_nid": "api_admin_create_role_management", "callee": "create_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1407"}, {"caller_nid": "api_admin_create_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1415"}, {"caller_nid": "api_admin_create_role_management", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1417"}, {"caller_nid": "api_admin_create_role_management", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1417"}, {"caller_nid": "api_admin_create_role_management", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1419"}, {"caller_nid": "api_admin_create_role_management", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1419"}, {"caller_nid": "api_admin_update_role_management", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1430"}, {"caller_nid": "api_admin_update_role_management", "callee": "update_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1431"}, {"caller_nid": "api_admin_update_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1434"}, {"caller_nid": "api_admin_update_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1435"}, {"caller_nid": "api_admin_update_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1436"}, {"caller_nid": "api_admin_update_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1437"}, {"caller_nid": "api_admin_update_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1438"}, {"caller_nid": "api_admin_update_role_management", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1439"}, {"caller_nid": "api_admin_update_role_management", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1441"}, {"caller_nid": "api_admin_update_role_management", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1441"}, {"caller_nid": "api_admin_update_role_management", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1443"}, {"caller_nid": "api_admin_update_role_management", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1443"}, {"caller_nid": "api_admin_delete_role_management", "callee": "soft_delete_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1453"}, {"caller_nid": "api_admin_delete_role_management", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1454"}, {"caller_nid": "api_admin_delete_role_management", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1456"}, {"caller_nid": "api_admin_delete_role_management", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1456"}, {"caller_nid": "api_admin_get_role_menus", "callee": "get_role_menu_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1465"}, {"caller_nid": "api_admin_get_role_menus", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1466"}, {"caller_nid": "api_admin_update_role_menus", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1478"}, {"caller_nid": "api_admin_update_role_menus", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1479"}, {"caller_nid": "api_admin_update_role_menus", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1481"}, {"caller_nid": "api_admin_update_role_menus", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1481"}, {"caller_nid": "api_admin_get_role_data_scope", "callee": "get_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1490"}, {"caller_nid": "api_admin_get_role_data_scope", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1492"}, {"caller_nid": "api_admin_get_role_data_scope", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1494"}, {"caller_nid": "api_admin_update_role_data_scope", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1512"}, {"caller_nid": "api_admin_update_role_data_scope", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1514"}, {"caller_nid": "api_admin_update_role_data_scope", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1516"}, {"caller_nid": "api_admin_update_role_data_scope", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1516"}, {"caller_nid": "api_admin_upload_attachment", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1541"}, {"caller_nid": "api_admin_upload_attachment", "callee": "read", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1543"}, {"caller_nid": "api_admin_upload_attachment", "callee": "upload_file", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1544"}, {"caller_nid": "api_admin_upload_attachment", "callee": "rstrip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1545"}, {"caller_nid": "api_admin_upload_attachment", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1546"}, {"caller_nid": "api_admin_upload_attachment", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1547"}, {"caller_nid": "api_admin_upload_attachment", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1550"}, {"caller_nid": "api_admin_upload_attachment", "callee": "lstrip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1551"}, {"caller_nid": "api_admin_upload_attachment", "callee": "splitext", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1551"}, {"caller_nid": "api_admin_upload_attachment", "callee": "BizAttachment", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1554"}, {"caller_nid": "api_admin_upload_attachment", "callee": "uuid4", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1555"}, {"caller_nid": "api_admin_upload_attachment", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1562"}, {"caller_nid": "api_admin_upload_attachment", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1564"}, {"caller_nid": "api_admin_upload_attachment", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1565"}, {"caller_nid": "api_admin_upload_attachment", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1566"}, {"caller_nid": "api_admin_upload_attachment", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1567"}, {"caller_nid": "api_admin_upload_attachment", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1576"}, {"caller_nid": "api_admin_upload_attachment", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1577"}, {"caller_nid": "api_admin_upload_attachment", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1577"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1593"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1595"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "_lookup_attachment_by_url", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1597"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1598"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1600"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "rsplit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1602"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "presigned_download_url", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1604"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1605"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1607"}, {"caller_nid": "api_admin_attachment_download_url", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/admin.py", "source_location": "L1607"}]} \ No newline at end of file diff --git a/backend/app/main.py b/backend/app/main.py index 8b7fe4ee..80db824e 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -13,7 +13,7 @@ from app.core.database import SessionLocal from app.core.api_request_log_middleware import ApiRequestLogMiddleware from app.core.api_crypto_middleware import ApiCryptoMiddleware from app.models import models # noqa: F401 -from app.api import public_router, menu_router, admin_router, workflow_router, basic_info_router, collection_protocol_router, leave_router, operations_router, ethnic_router, sample_reception_router, sample_production_reception_router, qc_router, research_donation_router, production_router, pilot_service_router, insurance_company_router, material_router, storage_release_review_router, sample_sms_notification_router, storage_entry_sms_notification_router, qc_sms_notification_router, protocol_sample_collection_router, research_donation_sample_collection_router, pilot_application_router, pilot_checkup_router, pilot_delivery_router, pilot_infusion_confirm_router, pilot_infusion_schedule_mgmt_router, outbound_release_review_router, clinical_payment_router, env_detect_router, cleanroom_garment_router, market_router, pre_transit_sample_router +from app.api import public_router, menu_router, admin_router, workflow_router, basic_info_router, collection_protocol_router, leave_router, operations_router, ethnic_router, sample_reception_router, sample_production_reception_router, qc_router, research_donation_router, production_router, pilot_service_router, insurance_company_router, material_router, storage_release_review_router, sample_sms_notification_router, storage_entry_sms_notification_router, qc_sms_notification_router, protocol_sample_collection_router, research_donation_sample_collection_router, pilot_application_router, pilot_checkup_router, pilot_delivery_router, pilot_infusion_confirm_router, pilot_infusion_schedule_mgmt_router, outbound_release_review_router, clinical_payment_router, env_detect_router, cleanroom_garment_router, market_router, pre_transit_sample_router, oa_approval_router @asynccontextmanager @@ -132,6 +132,7 @@ app.include_router(env_detect_router, prefix=settings.API_V1_PREFIX) app.include_router(cleanroom_garment_router, prefix=settings.API_V1_PREFIX) app.include_router(market_router, prefix=settings.API_V1_PREFIX) app.include_router(pre_transit_sample_router, prefix=settings.API_V1_PREFIX) +app.include_router(oa_approval_router, prefix=settings.API_V1_PREFIX) def _mask_secret(value: str) -> str: diff --git a/backend/app/services/oa_assignee.py b/backend/app/services/oa_assignee.py new file mode 100644 index 00000000..80715bd3 --- /dev/null +++ b/backend/app/services/oa_assignee.py @@ -0,0 +1,179 @@ +"""OA 审批人解析(不读 sys_role)""" +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Tuple + +from sqlalchemy.orm import Session + +from app.crud import oa_approval as oa_crud +from app.models.models import SysDept, SysUser + + +class AssigneeResolveError(ValueError): + """审批人解析失败""" + + +def _active_user_id(db: Session, user_id: Optional[str], tenant_no: str) -> Optional[str]: + uid = (user_id or "").strip() + if not uid: + return None + u = ( + db.query(SysUser) + .filter( + SysUser.id == uid, + SysUser.tenant_no == tenant_no, + SysUser.del_flag == 0, + SysUser.status == "1", + ) + .first() + ) + return u.id if u else None + + +def resolve_dept_leader( + db: Session, *, tenant_no: str, initiator_dept_id: Optional[str] +) -> Tuple[List[str], Dict[str, Any]]: + dept_id = (initiator_dept_id or "").strip() + if not dept_id: + raise AssigneeResolveError("发起人部门为空,无法解析部门负责人") + dept = ( + db.query(SysDept) + .filter(SysDept.id == dept_id, SysDept.tenant_no == tenant_no, SysDept.del_flag == 0) + .first() + ) + if not dept: + raise AssigneeResolveError("发起人部门不存在") + leader_uid = _active_user_id(db, getattr(dept, "leader_user_id", None), tenant_no) + if not leader_uid: + raise AssigneeResolveError("部门负责人未配置或用户无效,请在组织管理中维护负责人") + return [leader_uid], {"resolve_source": "dept_leader"} + + +def resolve_direct_supervisor( + db: Session, + *, + tenant_no: str, + initiator_user_id: str, + initiator_dept_id: Optional[str], + fallback_to_dept_leader: bool = True, +) -> Tuple[List[str], Dict[str, Any]]: + initiator = ( + db.query(SysUser) + .filter( + SysUser.id == initiator_user_id, + SysUser.tenant_no == tenant_no, + SysUser.del_flag == 0, + ) + .first() + ) + if not initiator: + raise AssigneeResolveError("发起人不存在") + supervisor_uid = _active_user_id( + db, getattr(initiator, "supervisor_user_id", None), tenant_no + ) + if supervisor_uid: + if supervisor_uid == initiator_user_id: + raise AssigneeResolveError("直属主管不能是发起人本人,请修正用户主管配置") + return [supervisor_uid], {"resolve_source": "direct_supervisor"} + if fallback_to_dept_leader: + users, meta = resolve_dept_leader( + db, tenant_no=tenant_no, initiator_dept_id=initiator_dept_id or initiator.dept_id + ) + meta = {**meta, "resolve_source": "supervisor_fallback_dept_leader"} + return users, meta + raise AssigneeResolveError("未配置直属主管,且未开启回退部门负责人") + + +def resolve_assignees( + db: Session, + *, + tenant_no: str, + assignee_config: Dict[str, Any], + initiator_user_id: str, + initiator_dept_id: Optional[str] = None, + advanced: Optional[Dict[str, Any]] = None, + initiator_select_user_ids: Optional[List[str]] = None, +) -> Tuple[List[str], Dict[str, Any]]: + """ + 按节点 approverConfig 解析处理人。 + assigneeType: users | oa_roles | dept_leader | direct_supervisor | initiator_select + """ + cfg = assignee_config or {} + assignee_type = (cfg.get("assigneeType") or cfg.get("assignee_type") or "").strip() + advanced = advanced or {} + fallback = advanced.get("supervisorFallbackToDeptLeader", True) + if isinstance(fallback, str): + fallback = fallback.lower() in ("1", "true", "yes") + + if assignee_type == "users": + ids = cfg.get("userIds") or cfg.get("user_ids") or [] + out: List[str] = [] + seen = set() + for uid in ids: + real = _active_user_id(db, uid, tenant_no) + if real and real not in seen: + seen.add(real) + out.append(real) + if not out: + raise AssigneeResolveError("指定成员为空或均无效") + return out, {"resolve_source": "users"} + + if assignee_type == "oa_roles": + role_ids = cfg.get("oaRoleIds") or cfg.get("oa_role_ids") or [] + # 也支持按编码 + codes = cfg.get("oaRoleCodes") or cfg.get("oa_role_codes") or [] + if codes: + from app.models.models import OaRole + + extra = ( + db.query(OaRole.id) + .filter( + OaRole.tenant_no == tenant_no, + OaRole.role_code.in_([c.upper() for c in codes]), + OaRole.del_flag == 0, + OaRole.status == "1", + ) + .all() + ) + role_ids = list(role_ids) + [r.id for r in extra] + users = oa_crud.list_oa_role_user_ids(db, list(role_ids), tenant_no) + # 过滤停用用户 + out = [] + seen = set() + for uid in users: + real = _active_user_id(db, uid, tenant_no) + if real and real not in seen: + seen.add(real) + out.append(real) + if not out: + raise AssigneeResolveError("工作流角色成员为空或均无效") + return out, {"resolve_source": "oa_roles"} + + if assignee_type == "dept_leader": + return resolve_dept_leader( + db, tenant_no=tenant_no, initiator_dept_id=initiator_dept_id + ) + + if assignee_type == "direct_supervisor": + return resolve_direct_supervisor( + db, + tenant_no=tenant_no, + initiator_user_id=initiator_user_id, + initiator_dept_id=initiator_dept_id, + fallback_to_dept_leader=bool(fallback), + ) + + if assignee_type == "initiator_select": + ids = initiator_select_user_ids or cfg.get("userIds") or [] + out = [] + seen = set() + for uid in ids: + real = _active_user_id(db, uid, tenant_no) + if real and real not in seen: + seen.add(real) + out.append(real) + if not out: + raise AssigneeResolveError("发起人未选择审批人") + return out, {"resolve_source": "initiator_select"} + + raise AssigneeResolveError(f"不支持的审批人类型: {assignee_type or '(空)'}") diff --git a/backend/app/services/oa_engine.py b/backend/app/services/oa_engine.py index 364d61b3..bb793de0 100644 --- a/backend/app/services/oa_engine.py +++ b/backend/app/services/oa_engine.py @@ -353,6 +353,127 @@ def _task_to_dict(t: OaTask, *, assignee_user_name: str = "") -> Dict[str, Any]: } +_INSTANCE_STATUS_NODE_LABEL = { + "completed": "已完成", + "rejected": "已拒绝", + "returned": "已打回", + "cancelled": "已撤销", +} + + +def _instance_progress_summary( + inst: OaInstance, + *, + app_name: str, + initiator_user_name: str, + pending_approval_tasks: List[OaTask], + name_map: Dict[str, str], +) -> Dict[str, Any]: + status = (inst.status or "").strip() + apply_time = ( + inst.create_time.strftime("%Y-%m-%d %H:%M:%S") if inst.create_time else "" + ) + if status == "running": + node_names: List[str] = [] + seen_nodes = set() + approver_names: List[str] = [] + for t in pending_approval_tasks: + nn = (t.node_name or t.node_key or "").strip() + if nn and nn not in seen_nodes: + seen_nodes.add(nn) + node_names.append(nn) + uid = (t.assignee_user_id or "").strip() + if uid: + approver_names.append(name_map.get(uid, uid)) + current_node = "、".join(node_names) if node_names else "-" + current_approvers = "、".join(approver_names) if approver_names else "-" + else: + current_node = _INSTANCE_STATUS_NODE_LABEL.get(status, status or "-") + current_approvers = "-" + return { + "appName": app_name or (inst.title or ""), + "initiatorUserId": inst.initiator_user_id or "", + "initiatorUserName": initiator_user_name + or name_map.get(inst.initiator_user_id or "", inst.initiator_user_id or ""), + "applyTime": apply_time, + "instanceStatus": status, + "currentNodeName": current_node, + "currentApproverNames": current_approvers, + } + + +def _enrich_list_rows( + db: Session, + *, + tenant_no: str, + rows: List[Dict[str, Any]], + instances: List[OaInstance], +) -> List[Dict[str, Any]]: + if not rows: + return [] + inst_by_id = {i.id: i for i in instances} + app_ids = list({i.app_id for i in instances if i.app_id}) + apps = ( + db.query(OaApp) + .filter( + OaApp.id.in_(app_ids), + OaApp.tenant_no == tenant_no, + OaApp.del_flag == 0, + ) + .all() + if app_ids + else [] + ) + app_name_by_id = {a.id: (a.app_name or "") for a in apps} + + inst_ids = list(inst_by_id.keys()) + pending_tasks = ( + db.query(OaTask) + .filter( + OaTask.tenant_no == tenant_no, + OaTask.del_flag == 0, + OaTask.instance_id.in_(inst_ids), + OaTask.task_type == "approval", + OaTask.status == "pending", + ) + .order_by(OaTask.create_time.asc()) + .all() + if inst_ids + else [] + ) + pending_by_inst: Dict[str, List[OaTask]] = {} + for t in pending_tasks: + pending_by_inst.setdefault(t.instance_id, []).append(t) + + user_ids: List[str] = [] + for i in instances: + if i.initiator_user_id: + user_ids.append(i.initiator_user_id) + for t in pending_tasks: + if t.assignee_user_id: + user_ids.append(t.assignee_user_id) + name_map = _user_name_map(db, user_ids) + + out: List[Dict[str, Any]] = [] + for row in rows: + iid = row.get("instanceId") or row.get("id") + inst = inst_by_id.get(iid) + if not inst: + out.append(row) + continue + summary = _instance_progress_summary( + inst, + app_name=app_name_by_id.get(inst.app_id, ""), + initiator_user_name=name_map.get(inst.initiator_user_id or "", ""), + pending_approval_tasks=pending_by_inst.get(inst.id, []), + name_map=name_map, + ) + merged = dict(row) + merged.update(summary) + out.append(merged) + return out + + def _user_name_map(db: Session, user_ids: List[str]) -> Dict[str, str]: ids = [uid for uid in {str(u or "").strip() for u in user_ids} if uid] if not ids: @@ -1052,12 +1173,26 @@ def list_tasks( .order_by(OaInstance.create_time.desc()) .all() ) - return [_instance_to_dict(i) for i in insts] + rows = [_instance_to_dict(i) for i in insts] + return _enrich_list_rows(db, tenant_no=tenant_no, rows=rows, instances=insts) else: raise OaEngineError(f"不支持的列表类型: {kind}") - rows = q.order_by(OaTask.create_time.desc()).all() - return [_task_to_dict(t) for t in rows] + rows_orm = q.order_by(OaTask.create_time.desc()).all() + rows = [_task_to_dict(t) for t in rows_orm] + inst_ids = list({t.instance_id for t in rows_orm if t.instance_id}) + insts = ( + db.query(OaInstance) + .filter( + OaInstance.tenant_no == tenant_no, + OaInstance.del_flag == 0, + OaInstance.id.in_(inst_ids), + ) + .all() + if inst_ids + else [] + ) + return _enrich_list_rows(db, tenant_no=tenant_no, rows=rows, instances=insts) def complete_task( diff --git a/backend/app/services/oa_formula.py b/backend/app/services/oa_formula.py new file mode 100644 index 00000000..e0341907 --- /dev/null +++ b/backend/app/services/oa_formula.py @@ -0,0 +1,281 @@ +"""OA 表单公式与数据联动(禁止任意 eval)""" +from __future__ import annotations + +import ast +import operator +import re +from typing import Any, Dict, List, Optional, Tuple, Union + +Number = Union[int, float] + +_BIN_OPS = { + ast.Add: operator.add, + ast.Sub: operator.sub, + ast.Mult: operator.mul, + ast.Div: operator.truediv, + ast.Mod: operator.mod, +} + +_CMP_OPS = { + ast.Eq: operator.eq, + ast.NotEq: operator.ne, + ast.Lt: operator.lt, + ast.LtE: operator.le, + ast.Gt: operator.gt, + ast.GtE: operator.ge, +} + +# 字段引用:{field} 或 field(Ident) +_FIELD_BRACE = re.compile(r"\{([A-Za-z_][A-Za-z0-9_]*)\}") + + +class FormulaError(ValueError): + """公式非法或求值失败""" + + +def _to_number(v: Any) -> Number: + if v is None or v == "": + return 0 + if isinstance(v, bool): + return int(v) + if isinstance(v, (int, float)): + return v + if isinstance(v, str): + s = v.strip() + if not s: + return 0 + try: + if "." in s: + return float(s) + return int(s) + except ValueError as e: + raise FormulaError(f"无法将「{v}」转为数字") from e + raise FormulaError(f"不支持的数值类型: {type(v).__name__}") + + +def _truthy(v: Any) -> bool: + if v is None: + return False + if isinstance(v, (int, float)): + return v != 0 + if isinstance(v, str): + return v.strip() != "" + if isinstance(v, (list, dict)): + return len(v) > 0 + return bool(v) + + +def preprocess_formula(expr: str) -> str: + """将 {field} 转为合法标识符引用 field。""" + text = (expr or "").strip() + if not text: + raise FormulaError("公式为空") + return _FIELD_BRACE.sub(r"\1", text) + + +class _SafeEval(ast.NodeVisitor): + def __init__(self, form_data: Dict[str, Any]): + self.form_data = form_data or {} + + def visit(self, node): # type: ignore[override] + method = "visit_" + node.__class__.__name__ + visitor = getattr(self, method, None) + if visitor is None: + raise FormulaError(f"不支持的语法: {node.__class__.__name__}") + return visitor(node) + + def visit_Expression(self, node: ast.Expression): + return self.visit(node.body) + + def visit_Constant(self, node: ast.Constant): + if isinstance(node.value, (int, float, str, bool)) or node.value is None: + return node.value + raise FormulaError("不支持的常量类型") + + # Py3.9 可能仍有 Num/Str/NameConstant + def visit_Num(self, node): # pragma: no cover + return node.n + + def visit_Str(self, node): # pragma: no cover + return node.s + + def visit_NameConstant(self, node): # pragma: no cover + return node.value + + def visit_Name(self, node: ast.Name): + if not isinstance(node.ctx, ast.Load): + raise FormulaError("仅允许读取字段") + key = node.id + if key not in self.form_data: + # 未填视为 0 / 空:数字上下文由运算再转 + return self.form_data.get(key) + return self.form_data.get(key) + + def visit_UnaryOp(self, node: ast.UnaryOp): + val = self.visit(node.operand) + if isinstance(node.op, ast.UAdd): + return +_to_number(val) + if isinstance(node.op, ast.USub): + return -_to_number(val) + if isinstance(node.op, ast.Not): + return not _truthy(val) + raise FormulaError("不支持的一元运算") + + def visit_BinOp(self, node: ast.BinOp): + op_type = type(node.op) + if op_type not in _BIN_OPS: + raise FormulaError("仅支持 + - * / %") + left = _to_number(self.visit(node.left)) + right = _to_number(self.visit(node.right)) + if op_type is ast.Div and right == 0: + raise FormulaError("除数不能为 0") + if op_type is ast.Mod and right == 0: + raise FormulaError("模运算除数不能为 0") + return _BIN_OPS[op_type](left, right) + + def visit_Compare(self, node: ast.Compare): + left = self.visit(node.left) + for op, comp in zip(node.ops, node.comparators): + op_type = type(op) + if op_type not in _CMP_OPS: + raise FormulaError("不支持的比较运算") + right = self.visit(comp) + # 两侧能数字则按数字比 + try: + l2, r2 = _to_number(left), _to_number(right) + ok = _CMP_OPS[op_type](l2, r2) + except FormulaError: + ok = _CMP_OPS[op_type](left, right) + if not ok: + return False + left = right + return True + + def visit_BoolOp(self, node: ast.BoolOp): + if isinstance(node.op, ast.And): + val = True + for v in node.values: + val = _truthy(self.visit(v)) + if not val: + return False + return True + if isinstance(node.op, ast.Or): + for v in node.values: + if _truthy(self.visit(v)): + return True + return False + raise FormulaError("不支持的逻辑运算") + + def visit_IfExp(self, node: ast.IfExp): + return self.visit(node.body) if _truthy(self.visit(node.test)) else self.visit(node.orelse) + + def visit_Call(self, node: ast.Call): + if not isinstance(node.func, ast.Name): + raise FormulaError("仅支持白名单函数") + fname = node.func.id.upper() + if node.keywords: + raise FormulaError("函数不支持关键字参数") + args = [self.visit(a) for a in node.args] + if fname == "IF": + if len(args) != 3: + raise FormulaError("IF 需要 3 个参数") + return args[1] if _truthy(args[0]) else args[2] + if fname == "SUM": + total: Number = 0 + for a in args: + if isinstance(a, list): + for item in a: + total = total + _to_number(item) + else: + total = total + _to_number(a) + return total + if fname == "ABS": + if len(args) != 1: + raise FormulaError("ABS 需要 1 个参数") + return abs(_to_number(args[0])) + raise FormulaError(f"函数未开放: {node.func.id}") + + def visit_List(self, node: ast.List): + return [self.visit(e) for e in node.elts] + + +def eval_formula(expr: str, form_data: Optional[Dict[str, Any]] = None) -> Any: + text = preprocess_formula(expr) + try: + tree = ast.parse(text, mode="eval") + except SyntaxError as e: + raise FormulaError(f"公式语法错误: {e.msg}") from e + return _SafeEval(form_data or {}).visit(tree) + + +def _extract_rules(form_schema: Any) -> List[Dict[str, Any]]: + if isinstance(form_schema, list): + return [r for r in form_schema if isinstance(r, dict)] + if isinstance(form_schema, dict): + rules = form_schema.get("rule") or form_schema.get("rules") or form_schema.get("fields") + if isinstance(rules, list): + return [r for r in rules if isinstance(r, dict)] + return [] + + +def _walk_rules(rules: List[Dict[str, Any]], out: List[Dict[str, Any]]) -> None: + for rule in rules: + out.append(rule) + children = rule.get("children") or [] + if isinstance(children, list): + _walk_rules([c for c in children if isinstance(c, dict)], out) + + +def apply_formulas_and_linkages( + schema: Any, form_data: Optional[Dict[str, Any]] = None +) -> Dict[str, Any]: + """ + 按 schema 中字段 props.formula / props.linkage 回填 form_data。 + linkage 示例: { "when": "{days} > 3", "set": { "needGm": true } } + 或列表 form。 + """ + data: Dict[str, Any] = dict(form_data or {}) + flat: List[Dict[str, Any]] = [] + _walk_rules(_extract_rules(schema), flat) + + # 多轮公式:处理依赖(有上限) + for _ in range(5): + changed = False + for rule in flat: + field = rule.get("field") + if not field: + continue + props = rule.get("props") or {} + formula = props.get("formula") or rule.get("formula") + if formula: + try: + val = eval_formula(str(formula), data) + except FormulaError: + raise + if data.get(field) != val: + data[field] = val + changed = True + if not changed: + break + + for rule in flat: + props = rule.get("props") or {} + linkages = props.get("linkage") or rule.get("linkage") + if not linkages: + continue + items = linkages if isinstance(linkages, list) else [linkages] + for link in items: + if not isinstance(link, dict): + continue + when = link.get("when") or link.get("condition") + sets = link.get("set") or link.get("assign") or {} + if when is None: + continue + try: + ok = _truthy(eval_formula(str(when), data)) + except FormulaError: + continue + if ok and isinstance(sets, dict): + for k, v in sets.items(): + data[k] = v + return data diff --git a/backend/app/services/oa_publish.py b/backend/app/services/oa_publish.py new file mode 100644 index 00000000..cd2eeb1b --- /dev/null +++ b/backend/app/services/oa_publish.py @@ -0,0 +1,405 @@ +"""OA 审批应用发布校验与发布落库""" +from __future__ import annotations + +from typing import Any, Dict, List, Optional, Set, Tuple + +from sqlalchemy.orm import Session + +from app.crud import oa_approval as oa_crud +from app.models.models import OaRole + +# 可填控件(FormCreate / 自建控件字典交集;布局类不计) +FILLABLE_TYPES = frozenset( + { + "input", + "textarea", + "inputNumber", + "number", + "radio", + "checkbox", + "select", + "switch", + "datePicker", + "date", + "dateRange", + "timePicker", + "time", + "phone", + "image", + "upload", + "attachment", + "oaAttachment", + "money", + "dept", + "region", + "formula", + "relatedApproval", + "rate", + "slider", + "cascader", + } +) + +LAYOUT_TYPES = frozenset( + { + "fcRow", + "col", + "column", + "fcTable", + "html", + "divider", + "card", + "space", + "tabs", + "tabPane", + "group", + "object", + } +) + +VALID_ASSIGNEE_TYPES = frozenset( + { + "users", + "oa_roles", + "dept_leader", + "direct_supervisor", + "initiator_select", + } +) + +VALID_NODE_TYPES = frozenset({"start", "approval", "cc", "condition", "end"}) + +# 发布允许的控件 type(未知 type 拒绝) +ALLOWED_CONTROL_TYPES = FILLABLE_TYPES | LAYOUT_TYPES | frozenset({"oaAttachment"}) + + +def _extract_rules(form_schema: Any) -> List[Dict[str, Any]]: + if form_schema is None: + return [] + if isinstance(form_schema, list): + return [r for r in form_schema if isinstance(r, dict)] + if isinstance(form_schema, dict): + rules = form_schema.get("rule") or form_schema.get("rules") or form_schema.get("fields") + if isinstance(rules, list): + return [r for r in rules if isinstance(r, dict)] + # 单字段对象 + if form_schema.get("type") or form_schema.get("field"): + return [form_schema] + return [] + + +def _walk_form_rules(rules: List[Dict[str, Any]], out: List[Dict[str, Any]]) -> None: + for rule in rules: + out.append(rule) + children = rule.get("children") or rule.get("props", {}).get("rule") or [] + if isinstance(children, list): + _walk_form_rules([c for c in children if isinstance(c, dict)], out) + + +def count_fillable_fields(form_schema: Any) -> int: + flat: List[Dict[str, Any]] = [] + _walk_form_rules(_extract_rules(form_schema), flat) + n = 0 + for rule in flat: + t = (rule.get("type") or "").strip() + if t in LAYOUT_TYPES: + continue + field = rule.get("field") or rule.get("name") + if t in FILLABLE_TYPES or (field and t and t not in LAYOUT_TYPES): + n += 1 + return n + + +def _node_type(node: Dict[str, Any]) -> str: + return (node.get("type") or node.get("nodeType") or "").strip() + + +def validate_flow_tree(flow_tree: Any) -> List[str]: + errors: List[str] = [] + if not flow_tree or not isinstance(flow_tree, dict): + return ["流程树不能为空"] + + root = flow_tree + # 兼容 { root: node } 包装 + if "root" in flow_tree and isinstance(flow_tree["root"], dict): + root = flow_tree["root"] + + if _node_type(root) != "start": + errors.append("流程树根节点必须是发起人(start)") + + seen_end = False + + def walk(node: Optional[Dict[str, Any]], path: str) -> None: + nonlocal seen_end + if not node or not isinstance(node, dict): + errors.append(f"{path}:节点缺失") + return + ntype = _node_type(node) + if ntype not in VALID_NODE_TYPES: + errors.append(f"{path}:不支持的节点类型「{ntype or '(空)'}」") + return + + if ntype == "end": + seen_end = True + if node.get("child"): + errors.append(f"{path}:结束节点后不应再有子节点") + return + + if ntype in ("approval", "cc"): + cfg = node.get("approverConfig") or node.get("approver_config") or {} + if not isinstance(cfg, dict): + cfg = {} + # 抄送也需要明确接收人策略 + at = (cfg.get("assigneeType") or cfg.get("assignee_type") or "").strip() + if not at: + errors.append(f"{path}:未配置审批人/抄送人策略") + elif at not in VALID_ASSIGNEE_TYPES: + errors.append(f"{path}:不支持的审批人类型「{at}」") + elif at == "users": + ids = cfg.get("userIds") or cfg.get("user_ids") or [] + if not ids: + errors.append(f"{path}:指定成员不能为空") + elif at == "oa_roles": + rids = cfg.get("oaRoleIds") or cfg.get("oa_role_ids") or [] + codes = cfg.get("oaRoleCodes") or cfg.get("oa_role_codes") or [] + if not rids and not codes: + errors.append(f"{path}:工作流角色不能为空") + # dept_leader / direct_supervisor / initiator_select:类型本身即完备 + + if ntype == "condition": + groups = node.get("conditionGroups") or node.get("condition_groups") or [] + if not isinstance(groups, list) or len(groups) < 1: + errors.append(f"{path}:条件分支至少需要一组出线") + else: + for i, g in enumerate(groups): + if not isinstance(g, dict): + errors.append(f"{path}.条件组[{i}]:格式非法") + continue + child = g.get("child") + if not child: + errors.append(f"{path}.条件组[{i}]:缺少下游节点") + else: + gname = g.get("name") or f"分支{i + 1}" + walk(child if isinstance(child, dict) else None, f"{path}/{gname}") + # 条件节点也可有默认 child(部分设计);若无 groups 已报错 + return + + child = node.get("child") + if child is None: + if ntype != "end": + errors.append(f"{path}:须连接到后续节点直至结束") + return + if not isinstance(child, dict): + errors.append(f"{path}:子节点格式非法") + return + cname = child.get("name") or _node_type(child) or "next" + walk(child, f"{path}/{cname}") + + walk(root, root.get("name") or "发起人") + if not seen_end: + errors.append("流程树未能到达结束节点") + return errors + + +def validate_oa_roles_referenced( + db: Session, *, tenant_no: str, flow_tree: Any +) -> List[str]: + role_ids: Set[str] = set() + role_codes: Set[str] = set() + + def collect(node: Optional[Dict[str, Any]]) -> None: + if not node or not isinstance(node, dict): + return + cfg = node.get("approverConfig") or {} + if isinstance(cfg, dict): + at = (cfg.get("assigneeType") or "").strip() + if at == "oa_roles": + for rid in cfg.get("oaRoleIds") or cfg.get("oa_role_ids") or []: + if rid: + role_ids.add(str(rid)) + for code in cfg.get("oaRoleCodes") or cfg.get("oa_role_codes") or []: + if code: + role_codes.add(str(code).upper()) + child = node.get("child") + if isinstance(child, dict): + collect(child) + for g in node.get("conditionGroups") or []: + if isinstance(g, dict) and isinstance(g.get("child"), dict): + collect(g["child"]) + + root = flow_tree + if isinstance(flow_tree, dict) and isinstance(flow_tree.get("root"), dict): + root = flow_tree["root"] + collect(root if isinstance(root, dict) else None) + + errors: List[str] = [] + if role_ids: + rows = ( + db.query(OaRole) + .filter( + OaRole.id.in_(list(role_ids)), + OaRole.tenant_no == tenant_no, + OaRole.del_flag == 0, + ) + .all() + ) + found = {r.id: r for r in rows} + for rid in role_ids: + r = found.get(rid) + if not r: + errors.append(f"引用的工作流角色不存在:{rid}") + elif r.status != "1": + errors.append(f"工作流角色已停用:{r.role_name or rid}") + if role_codes: + rows = ( + db.query(OaRole) + .filter( + OaRole.role_code.in_(list(role_codes)), + OaRole.tenant_no == tenant_no, + OaRole.del_flag == 0, + ) + .all() + ) + found_codes = {r.role_code.upper(): r for r in rows} + for code in role_codes: + r = found_codes.get(code) + if not r: + errors.append(f"引用的工作流角色编码不存在:{code}") + elif r.status != "1": + errors.append(f"工作流角色已停用:{r.role_name or code}") + return errors + + +def validate_control_types(form_schema: Any) -> List[str]: + flat: List[Dict[str, Any]] = [] + _walk_form_rules(_extract_rules(form_schema), flat) + errors: List[str] = [] + unknown: Set[str] = set() + for rule in flat: + t = (rule.get("type") or "").strip() + if not t: + continue + if t not in ALLOWED_CONTROL_TYPES: + unknown.add(t) + for t in sorted(unknown): + errors.append(f"不支持的表单控件类型:{t}") + return errors + + +def validate_draft_for_publish( + db: Session, + *, + tenant_no: str, + form_schema: Any, + flow_tree: Any, + basic: Optional[Dict[str, Any]] = None, +) -> List[str]: + errors: List[str] = [] + app_name = "" + if basic and isinstance(basic, dict): + app_name = (basic.get("appName") or "").strip() + if not app_name: + # 校验侧也可能只传 schema;名称在 publish 时再查 app + pass + if count_fillable_fields(form_schema) < 1: + errors.append("表单至少需要 1 个可填字段") + errors.extend(validate_control_types(form_schema)) + errors.extend(validate_flow_tree(flow_tree)) + errors.extend(validate_oa_roles_referenced(db, tenant_no=tenant_no, flow_tree=flow_tree)) + return errors + + +def publish_app( + db: Session, + app_id: str, + *, + tenant_no: str, + user_id: Optional[str] = None, +) -> Tuple[Dict[str, Any], List[str]]: + """ + 校验并发布当前草稿。 + 成功返回 (draft_dict_like_published_info, []); + 失败返回 ({}, errors)。 + """ + app = oa_crud.get_app(db, app_id, tenant_no) + if not app: + return {}, ["应用不存在"] + if not (app.app_name or "").strip(): + return {}, ["应用名称不能为空"] + + draft_payload = oa_crud.get_or_create_draft(db, app_id, tenant_no=tenant_no, user_id=user_id) + form_schema = draft_payload.get("formSchemaJson") + flow_tree = draft_payload.get("flowTreeJson") + errors = validate_draft_for_publish( + db, + tenant_no=tenant_no, + form_schema=form_schema, + flow_tree=flow_tree, + basic=draft_payload.get("basic"), + ) + if errors: + return {}, errors + + draft = oa_crud._find_draft(db, app_id, tenant_no) + if not draft: + return {}, ["草稿不存在"] + + from datetime import datetime + + from app.models.models import OaAppVersion + + now = datetime.now() + olds = ( + db.query(OaAppVersion) + .filter( + OaAppVersion.app_id == app_id, + OaAppVersion.tenant_no == tenant_no, + OaAppVersion.is_latest_published == "1", + OaAppVersion.del_flag == 0, + ) + .all() + ) + for old in olds: + old.is_latest_published = "0" + old.update_by = user_id + old.update_time = now + db.add(old) + + draft.status = "published" + draft.is_latest_published = "1" + draft.update_by = user_id + draft.update_time = now + db.add(draft) + + # 发布后不应再残留其它草稿(并发/重复创建等);否则列表 hasDraft 仍为 true + leftover_drafts = ( + db.query(OaAppVersion) + .filter( + OaAppVersion.app_id == app_id, + OaAppVersion.tenant_no == tenant_no, + OaAppVersion.status == "draft", + OaAppVersion.del_flag == 0, + OaAppVersion.id != draft.id, + ) + .all() + ) + for leftover in leftover_drafts: + leftover.del_flag = 1 + leftover.update_by = user_id + leftover.update_time = now + db.add(leftover) + + app.update_by = user_id + app.update_time = now + db.add(app) + db.commit() + db.refresh(draft) + + return { + "appId": app.id, + "versionId": draft.id, + "versionNo": draft.version_no, + "status": draft.status, + "isLatestPublished": draft.is_latest_published, + "appName": app.app_name, + }, [] diff --git a/backend/graphify-out/.graphify_analysis.json b/backend/graphify-out/.graphify_analysis.json index ae455b13..11702aa6 100644 --- a/backend/graphify-out/.graphify_analysis.json +++ b/backend/graphify-out/.graphify_analysis.json @@ -131,11 +131,11 @@ "api_clinical_payment_api_submit_refund", "api_clinical_payment_get_tenant_no", "api_clinical_payment_py", - "api_collection_protocol_batchrefundfinancesubmitbody", "api_collection_protocol_complete_protocol_invoice_request", "api_collection_protocol_create_collection_protocol", "api_collection_protocol_delete_collection_protocol", "api_collection_protocol_draft_fields_from_body", + "api_collection_protocol_ensure_customer_for_mother", "api_collection_protocol_get_collection_protocol_detail", "api_collection_protocol_get_current_user_id", "api_collection_protocol_get_invoice_eligible_payments", @@ -165,7 +165,6 @@ "api_collection_protocol_protocol_invoice_pending_count", "api_collection_protocol_put_payment_detail_draft", "api_collection_protocol_py", - "api_collection_protocol_refundfinancesubmitbody", "api_collection_protocol_resolve_consent_form_urls", "api_collection_protocol_resolve_health_survey_form_urls", "api_collection_protocol_resolve_protocol_attachments", @@ -346,6 +345,7 @@ "api_pilot_application_api_list_plans", "api_pilot_application_api_list_schedules", "api_pilot_application_api_mark_complete", + "api_pilot_application_api_save_application", "api_pilot_application_api_save_patient", "api_pilot_application_api_start_application", "api_pilot_application_api_update_application", @@ -783,7 +783,6 @@ "api_sample_reception_post_sample_reception", "api_sample_reception_put_sample_reception", "api_sample_reception_py", - "api_sample_reception_rationale_272", "api_sample_reception_update_check_item", "api_sample_sms_notification_generate_sms", "api_sample_sms_notification_get_current_user_id", @@ -849,33 +848,54 @@ "core_response_rationale_40", "core_response_success_response", "core_utils_parse_datetime", + "core_wechat_pay_rationale_254", + "core_wechat_pay_wechatpayclient_refund", "crud_base_crudbase_get", - "crud_clean_room_access_log_to_dict", "crud_cleanroom_garment_get_garment_detail", + "crud_clinical_payment_apply_submit_receipt", + "crud_clinical_payment_batch_submit_receipt", + "crud_clinical_payment_batch_submit_refund", + "crud_clinical_payment_confirm_receipt", + "crud_clinical_payment_confirm_refund", + "crud_clinical_payment_enrich_payment", + "crud_clinical_payment_get_or_raise", + "crud_clinical_payment_get_payment_by_schedule", + "crud_clinical_payment_get_payment_detail", "crud_clinical_payment_list_payments", + "crud_clinical_payment_map_payments_by_schedule_id", + "crud_clinical_payment_map_payments_by_schedule_ids", + "crud_clinical_payment_py", + "crud_clinical_payment_reject_receipt", + "crud_clinical_payment_reject_refund", "crud_clinical_payment_row_to_dict", + "crud_clinical_payment_submit_receipt", + "crud_clinical_payment_submit_refund", + "crud_collection_protocol_apply_submit_refund_finance", "crud_collection_protocol_attachments_to_urls", + "crud_collection_protocol_batch_submit_refund_finance", "crud_collection_protocol_no_enrich_issued_user_names", + "crud_collection_protocol_submit_refund_finance", "crud_collection_region_region_to_dict", "crud_exhibition_appointment_total_pages", "crud_leave_update_leave_status", - "crud_material_stock_check_parse_optional_date", - "crud_material_stock_check_save_unused_lines", + "crud_material_stock_check_create_check", + "crud_material_stock_check_parse_check_time", "crud_oa_approval_group_to_dict", "crud_oa_approval_list_groups", "crud_oa_approval_list_role_users", "crud_oa_approval_list_roles", "crud_oa_approval_member_count_map", "crud_oa_approval_role_to_dict", - "crud_pilot_checkup_get_checkup_by_application", + "crud_pilot_application_auto_generate_schedules", + "crud_pilot_application_create_application", + "crud_pilot_application_resolve_application_attachment_payload", + "crud_pilot_application_update_application", + "crud_pilot_delivery_save_delivery_materials", "crud_pilot_delivery_save_delivery_method", - "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", "crud_pilot_service_enrich_finance_operate_fields", "crud_pilot_service_normalize_txn_product_item", "crud_pilot_service_row_to_dict_channel_agreement", "crud_pilot_service_row_to_dict_checkup_institution", - "crud_pilot_service_row_to_dict_checkup_institution_invoice", - "crud_pilot_service_row_to_dict_project_system_item", "crud_pilot_service_row_to_dict_service_order", "crud_pilot_service_row_to_dict_service_order_txn", "crud_pilot_service_service_order_txn_to_response_dict", @@ -883,24 +903,27 @@ "crud_process_route_route_row_to_dict", "crud_process_route_update_step", "crud_production_task_build_process_library_for_editor", - "crud_production_task_enrich_assignee_names", + "crud_production_task_delete_task_step", "crud_production_task_get_production_task_editor_init", + "crud_production_task_replace_step_configured_reagents", + "crud_production_task_replace_step_consumables", + "crud_production_task_replace_step_data_collections", + "crud_production_task_replace_step_outputs", + "crud_production_task_replace_step_reagents", + "crud_production_task_require_requisition_for_catalog_material", + "crud_production_task_set_task_inputs", + "crud_production_task_soft_delete_sub", "crud_production_task_update_task_step", "crud_qc_material_batch_stock_in", "crud_qc_material_batch_stock_out", - "crud_qc_material_options_list", "crud_qc_material_rationale_345", "crud_qc_material_rationale_492", "crud_qc_material_stock_batch_batch_discard", - "crud_qc_material_stock_batch_batch_options", - "crud_qc_material_stock_batch_batch_row_to_dict", - "crud_qc_material_stock_batch_fmt_date", - "crud_qc_material_stock_batch_list_batches", "crud_qc_material_usage_mark_requisition_fully_used", - "crud_research_donation_batch_delete_donations", + "crud_qc_work_order_create_outbound_qc_work_order", + "crud_qc_work_order_resolve_outbound_biz_type_for_schedule", "crud_research_donation_change_status", "crud_research_donation_donation_to_dict", - "crud_sample_sms_notification_toggle_notification_status", "crud_workflow_get_all_tasks_for_business", "schemas_order_adjust_adjuststatus", "schemas_order_adjust_adjusttype", @@ -911,9 +934,15 @@ "str" ], "1": [ - "api_collection_protocol_ensure_customer_for_mother", "core_utils_generate_uuid", - "crud_base_crudbase_update", + "crud_base_crudbase_exists", + "crud_biz_no_generator_allocate_next_biz_no", + "crud_biz_no_generator_format_biz_no", + "crud_biz_no_generator_prefix_for", + "crud_biz_no_generator_py", + "crud_biz_no_generator_rationale_1", + "crud_biz_no_generator_rationale_35", + "crud_cell_product_create_cell_product", "crud_cell_sample_type_create_cell_sample_type", "crud_cell_sample_type_get_cell_sample_type", "crud_cell_sample_type_list_cell_sample_types", @@ -924,6 +953,7 @@ "crud_cell_sample_type_total_pages", "crud_cell_sample_type_type_code_exists", "crud_cell_sample_type_update_cell_sample_type", + "crud_clean_room_access_log_to_dict", "crud_clean_room_calc_duration_minutes", "crud_clean_room_create_access_log", "crud_clean_room_create_clean_room", @@ -976,24 +1006,8 @@ "crud_cleanroom_garment_update_sterilize_log", "crud_cleanroom_garment_update_wash_log", "crud_cleanroom_garment_wash_log_to_dict", - "crud_clinical_payment_apply_submit_receipt", - "crud_clinical_payment_auto_create_payment", - "crud_clinical_payment_batch_submit_receipt", - "crud_clinical_payment_batch_submit_refund", - "crud_clinical_payment_confirm_receipt", - "crud_clinical_payment_confirm_refund", - "crud_clinical_payment_enrich_payment", - "crud_clinical_payment_get_or_raise", - "crud_clinical_payment_get_payment_by_schedule", - "crud_clinical_payment_get_payment_detail", - "crud_clinical_payment_map_payments_by_schedule_id", - "crud_clinical_payment_py", - "crud_clinical_payment_reject_receipt", - "crud_clinical_payment_reject_refund", - "crud_clinical_payment_submit_receipt", - "crud_clinical_payment_submit_refund", + "crud_collection_protocol_create_collection_protocol", "crud_collection_protocol_create_invoice_request", - "crud_collection_protocol_get_protocol_nos_used_in_protocols", "crud_collection_protocol_no_batch_generate_protocol_nos", "crud_collection_protocol_no_batch_issue_protocol_nos", "crud_collection_protocol_no_batch_revoke_protocol_nos", @@ -1071,19 +1085,6 @@ "crud_customer_total_pages", "crud_customer_update_customer", "crud_dept_create_dept", - "crud_dict_data_create_dict_data", - "crud_dict_data_get_dict_data", - "crud_dict_data_is_dict_value_valid", - "crud_dict_data_list_dict_data", - "crud_dict_data_list_dict_data_options", - "crud_dict_data_normalize_transfer_type", - "crud_dict_data_normalize_void_type", - "crud_dict_data_py", - "crud_dict_data_rationale_1", - "crud_dict_data_row_to_dict", - "crud_dict_data_soft_delete_dict_data", - "crud_dict_data_total_pages", - "crud_dict_data_update_dict_data", "crud_dict_type_create_dict_type", "crud_dict_type_dict_type_code_exists", "crud_dict_type_get_dict_type", @@ -1113,6 +1114,20 @@ "crud_env_detect_record_resolve_item_snapshot", "crud_env_detect_record_soft_delete_env_detect_record", "crud_env_detect_record_update_env_detect_record", + "crud_equipment_create_equipment", + "crud_equipment_dec", + "crud_equipment_equipment_code_exists", + "crud_equipment_equipment_is_referenced", + "crud_equipment_get_equipment", + "crud_equipment_list_equipments", + "crud_equipment_norm_status", + "crud_equipment_parse_date", + "crud_equipment_py", + "crud_equipment_rationale_1", + "crud_equipment_row_to_dict", + "crud_equipment_soft_delete_equipment", + "crud_equipment_total_pages", + "crud_equipment_update_equipment", "crud_exhibition_appointment_create_exhibition_appointment", "crud_express_company_create_express_company", "crud_express_company_express_code_exists", @@ -1164,30 +1179,9 @@ "crud_material_stock_batch_usage_batch_snapshots", "crud_material_stock_batch_validate_discard_reason", "crud_menu_create_menu", - "crud_oa_approval_app_to_dict", - "crud_oa_approval_create_app", "crud_oa_approval_create_group", "crud_oa_approval_create_role", - "crud_oa_approval_create_version", - "crud_oa_approval_delete_app", - "crud_oa_approval_delete_group", - "crud_oa_approval_delete_role", - "crud_oa_approval_dumps", - "crud_oa_approval_ensure_presets", - "crud_oa_approval_find_draft", - "crud_oa_approval_get_app", - "crud_oa_approval_get_group", - "crud_oa_approval_get_or_create_draft", - "crud_oa_approval_get_role", - "crud_oa_approval_list_apps", - "crud_oa_approval_loads", - "crud_oa_approval_py", "crud_oa_approval_replace_role_users", - "crud_oa_approval_save_draft", - "crud_oa_approval_update_app", - "crud_oa_approval_update_group", - "crud_oa_approval_update_role", - "crud_oa_approval_version_draft_to_dict", "crud_output_type_create_output_type", "crud_output_type_get_output_type", "crud_output_type_list_output_types", @@ -1210,7 +1204,6 @@ "crud_pilot_delivery_row_to_dict_delivery", "crud_pilot_delivery_row_to_dict_delivery_material", "crud_pilot_delivery_row_to_dict_delivery_method", - "crud_pilot_delivery_save_delivery_materials", "crud_pilot_delivery_soft_delete_delivery", "crud_pilot_service_activate_channel_agreement", "crud_pilot_service_apply_gmcp_order_quotas", @@ -1277,10 +1270,10 @@ "crud_pilot_service_list_channel_product_quotas", "crud_pilot_service_list_channel_service_orders", "crud_pilot_service_list_channels", + "crud_pilot_service_list_checkup_institution_invoices", "crud_pilot_service_list_checkup_institution_packages", - "crud_pilot_service_list_checkup_institution_projects", - "crud_pilot_service_list_checkup_institutions", "crud_pilot_service_list_package_items_raw", + "crud_pilot_service_list_project_system_items", "crud_pilot_service_list_project_systems", "crud_pilot_service_list_service_order_txns", "crud_pilot_service_normalize_date_bound", @@ -1304,10 +1297,11 @@ "crud_pilot_service_row_to_dict_channel_invoice", "crud_pilot_service_row_to_dict_channel_mail_address", "crud_pilot_service_row_to_dict_channel_product_quota", + "crud_pilot_service_row_to_dict_checkup_institution_invoice", "crud_pilot_service_row_to_dict_checkup_institution_package", "crud_pilot_service_row_to_dict_checkup_institution_package_item", - "crud_pilot_service_row_to_dict_checkup_institution_project", "crud_pilot_service_row_to_dict_project_system", + "crud_pilot_service_row_to_dict_project_system_item", "crud_pilot_service_row_to_dict_service_order_product", "crud_pilot_service_save_gmcp_product_rows", "crud_pilot_service_soft_delete_cell_product_price", @@ -1421,17 +1415,96 @@ "crud_production_material_rationale_530", "crud_production_material_row_to_dict", "crud_production_material_soft_delete_material", + "crud_production_material_stock_batch_batch_discard", + "crud_production_material_stock_batch_batch_options", + "crud_production_material_stock_batch_batch_row_to_dict", + "crud_production_material_stock_batch_batch_stock_in", + "crud_production_material_stock_batch_batch_stock_out", + "crud_production_material_stock_batch_create_batch_and_usage", + "crud_production_material_stock_batch_delete_batch", + "crud_production_material_stock_batch_discard_batch", + "crud_production_material_stock_batch_fmt_date", + "crud_production_material_stock_batch_get_batch", + "crud_production_material_stock_batch_get_material_for_update", + "crud_production_material_stock_batch_list_batches", + "crud_production_material_stock_batch_optional_str", + "crud_production_material_stock_batch_parse_date", + "crud_production_material_stock_batch_parse_expire_date", + "crud_production_material_stock_batch_parse_optional_date", + "crud_production_material_stock_batch_py", + "crud_production_material_stock_batch_require_decimal", + "crud_production_material_stock_batch_require_str", + "crud_production_material_stock_batch_stock_in_no_exists", + "crud_production_material_stock_batch_stock_in_one", + "crud_production_material_stock_batch_stock_out_batch", + "crud_production_material_stock_batch_update_batch", + "crud_production_material_stock_batch_usage_batch_snapshots", + "crud_production_material_stock_batch_validate_discard_reason", "crud_production_material_stock_in", "crud_production_material_stock_out", "crud_production_material_total_pages", "crud_production_material_update_material", - "crud_production_work_order_create_production_work_order_from_reception", - "crud_qc_item_param_list_params_by_item", - "crud_qc_item_param_parse_options_list", - "crud_qc_item_param_py", - "crud_qc_item_param_row_to_dict", - "crud_qc_item_param_save_params_for_item", - "crud_qc_item_param_validate_param", + "crud_protocol_donation_convert_active_link_query", + "crud_protocol_donation_convert_assert_biz_no_available", + "crud_protocol_donation_convert_create_convert_link", + "crud_protocol_donation_convert_get_convert_partner", + "crud_protocol_donation_convert_get_partner_sample_codes", + "crud_protocol_donation_convert_has_active_convert_link", + "crud_protocol_donation_convert_py", + "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", + "crud_qc_inspection_batch_allocate_batch_name", + "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", + "crud_qc_inspection_batch_assignee_names", + "crud_qc_inspection_batch_batch_assignee_user_ids", + "crud_qc_inspection_batch_batch_has_blocking_tasks", + "crud_qc_inspection_batch_batch_item_ids", + "crud_qc_inspection_batch_batch_to_dict", + "crud_qc_inspection_batch_build_inspection_batch_list", + "crud_qc_inspection_batch_configure_work_order_batches", + "crud_qc_inspection_batch_dec", + "crud_qc_inspection_batch_is_voided_work_order", + "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", + "crud_qc_inspection_batch_next_batch_no", + "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", + "crud_qc_inspection_batch_order_source_for_wo", + "crud_qc_inspection_batch_py", + "crud_qc_inspection_batch_soft_delete_batch", + "crud_qc_inspection_batch_sync_batch_assignees", + "crud_qc_inspection_batch_sync_batch_lab_items", + "crud_qc_inspection_batch_sync_batch_third_items", + "crud_qc_inspection_batch_unique_ids", + "crud_qc_inspection_batch_validate_batch_payload", + "crud_qc_lab_test_item_create_lab_item", + "crud_qc_lab_test_item_get_lab_item", + "crud_qc_lab_test_item_item_code_exists", + "crud_qc_lab_test_item_list_active_lab_items", + "crud_qc_lab_test_item_list_lab_items", + "crud_qc_lab_test_item_py", + "crud_qc_lab_test_item_row_to_dict", + "crud_qc_lab_test_item_soft_delete_lab_item", + "crud_qc_lab_test_item_update_lab_item", + "crud_qc_material_build_manual_out_remark", + "crud_qc_material_code_exists", + "crud_qc_material_create_material", + "crud_qc_material_dec", + "crud_qc_material_fmt_dt", + "crud_qc_material_get_material", + "crud_qc_material_is_enabled_status", + "crud_qc_material_list_materials", + "crud_qc_material_norm_status", + "crud_qc_material_options_list", + "crud_qc_material_py", + "crud_qc_material_rationale_26", + "crud_qc_material_row_to_dict", + "crud_qc_material_soft_delete_material", + "crud_qc_material_stock_in", + "crud_qc_material_stock_out", + "crud_qc_material_total_pages", + "crud_qc_material_update_material", + "crud_qc_task_assignee_rationale_63", + "crud_qc_task_assignee_sync_assignees_for_task", + "crud_qc_task_assignee_validate_assignee_user_ids", + "crud_qc_task_create_task_for_line", "crud_qc_third_party_company_company_code_exists", "crud_qc_third_party_company_create_company", "crud_qc_third_party_company_get_company", @@ -1452,6 +1525,12 @@ "crud_qc_third_party_item_row_to_dict", "crud_qc_third_party_item_soft_delete_item", "crud_qc_third_party_item_update_item", + "crud_qc_work_order_apply_item_assignees", + "crud_qc_work_order_configure_temp_qc_work_order", + "crud_qc_work_order_get_task_by_source_line_id", + "crud_qc_work_order_soft_delete_tasks_by_source_line_ids", + "crud_qc_work_order_sync_work_order_lab_items", + "crud_qc_work_order_sync_work_order_third_party_items", "crud_reagent_batch_stock_in", "crud_reagent_batch_stock_out", "crud_reagent_create_reagent", @@ -1468,6 +1547,7 @@ "crud_reagent_stock_out", "crud_reagent_total_pages", "crud_reagent_update_reagent", + "crud_research_donation_convert_from_storage", "crud_research_donation_submit_audit", "crud_role_create_role", "crud_role_get_role", @@ -1482,7 +1562,6 @@ "crud_role_total_pages", "crud_role_update_role", "crud_role_update_role_data_scope", - "crud_role_update_role_menus", "crud_sample_code_batch_generate_sample_codes", "crud_sample_code_batch_issue_sample_codes", "crud_sample_code_batch_revoke_sample_codes", @@ -1499,15 +1578,6 @@ "crud_sample_code_soft_delete_sample_code", "crud_sample_code_total_pages", "crud_sample_code_update_sample_code", - "crud_sample_production_reception_apply_payload_to_row", - "crud_sample_production_reception_create_production_reception", - "crud_sample_production_reception_get_qc_reception", - "crud_sample_production_reception_int_val", - "crud_sample_production_reception_py", - "crud_sample_production_reception_resolve_field_profile", - "crud_sample_production_reception_update_production_reception", - "crud_sample_production_reception_validate_handler_user_id", - "crud_sample_production_reception_validate_payload", "crud_sample_reception_check_item_create_check_item", "crud_sample_reception_check_item_get_check_item", "crud_sample_reception_check_item_item_code_exists", @@ -1518,25 +1588,6 @@ "crud_sample_reception_check_item_row_to_dict", "crud_sample_reception_check_item_soft_delete_check_item", "crud_sample_reception_check_item_update_check_item", - "crud_sample_reception_check_result_save_reception_check_results", - "crud_sample_reception_check_result_soft_delete_reception_check_results", - "crud_sample_reception_check_result_sync_legacy_columns_from_results", - "crud_sample_reception_create_sample_reception", - "crud_sample_reception_lab_code_allocate_lab_storage_codes", - "crud_sample_reception_lab_code_allocate_one_seq", - "crud_sample_reception_lab_code_assert_lab_storage_code_available", - "crud_sample_reception_lab_code_format_lab_storage_code", - "crud_sample_reception_lab_code_max_existing_seq", - "crud_sample_reception_lab_code_parse_reception_date", - "crud_sample_reception_lab_code_py", - "crud_sample_reception_lab_code_rationale_1", - "crud_sample_reception_lab_code_rationale_165", - "crud_sample_reception_lab_code_rationale_177", - "crud_sample_reception_lab_code_sync_lab_storage_seq_after_use", - "crud_sample_reception_lab_code_sync_sequence_from_existing", - "crud_sample_reception_lab_code_validate_and_parse_lab_storage_code", - "crud_sample_reception_lab_code_validate_lab_storage_code", - "crud_sample_reception_update_sample_reception", "crud_site_create_site", "crud_site_get_site", "crud_site_list_sites", @@ -1556,8 +1607,7 @@ "crud_sop_document_sop_code_exists", "crud_sop_document_total_pages", "crud_sop_document_update_sop_document", - "crud_storage_facility_clear_slots_by_facility_node", - "crud_storage_release_review_create_review_from_reception", + "crud_storage_facility_create_slot", "crud_tenant_create_tenant", "crud_tenant_get_tenant", "crud_tenant_list_tenants", @@ -1606,8 +1656,6 @@ "schemas_cell_product_validate_passage", "schemas_cell_product_validate_status", "schemas_cell_product_validate_viability", - "services_oa_publish_publish_app", - "services_oa_publish_rationale_319", "valueerror" ], "2": [ @@ -1681,6 +1729,7 @@ "api_clinical_payment_submitrefundbody", "api_collection_protocol_auditcreatebody", "api_collection_protocol_batchdetailidsbody", + "api_collection_protocol_batchrefundfinancesubmitbody", "api_collection_protocol_financeconfirmbody", "api_collection_protocol_fullmoontodoinsurancebody", "api_collection_protocol_invoicerequestcompletebody", @@ -1689,6 +1738,7 @@ "api_collection_protocol_protocolcreatebody", "api_collection_protocol_protocolupdatebody", "api_collection_protocol_refundfinanceconfirmbody", + "api_collection_protocol_refundfinancesubmitbody", "api_env_detect_envdetectitembody", "api_env_detect_envdetectitemupdatebody", "api_env_detect_envdetectrecordbody", @@ -1885,6 +1935,7 @@ "api_sample_reception_allocatelabstoragecodesbody", "api_sample_reception_checkitembody", "api_sample_reception_checkitemupdatebody", + "api_sample_reception_rationale_272", "api_sample_reception_receptionchecksubmit", "api_sample_reception_samplereceptioncreatebody", "api_sample_reception_samplereceptionupdatebody", @@ -1897,7 +1948,6 @@ "api_workflow_startinstancebody", "api_workflow_taskactionbody", "basemodel", - "core_data_scope_get_child_dept_ids", "core_data_scope_rationale_1", "core_data_scope_rationale_113", "core_data_scope_rationale_28", @@ -1907,21 +1957,16 @@ "core_response_pageresult", "core_response_py", "core_response_responsemodel", + "crud_base_crudbase", + "crud_base_crudbase_get_all", + "crud_base_crudbase_get_multi", + "crud_base_crudbase_init", "crud_collection_protocol_no_rationale_34", "crud_production_task_step_assignee_rationale_104", "crud_production_task_step_assignee_rationale_152", - "crud_qc_material_amount_auth_assert_user_in_auth_dept", - "crud_qc_material_amount_auth_get_amount_view_role", - "crud_qc_material_amount_auth_get_auth_dept_id", - "crud_qc_material_amount_auth_grant_amount_view_role", - "crud_qc_material_amount_auth_list_authorized_users", - "crud_qc_material_amount_auth_py", "crud_qc_material_amount_auth_rationale_1", "crud_qc_material_amount_auth_rationale_159", "crud_qc_material_amount_auth_rationale_207", - "crud_qc_material_amount_auth_revoke_amount_view_role", - "crud_qc_material_amount_auth_row_to_dict", - "crud_qc_material_amount_auth_user_has_role_binding", "crud_user_rationale_1", "crud_user_rationale_135", "crud_user_rationale_182", @@ -2803,28 +2848,26 @@ "models_research_donation_rationale_68", "services_oa_engine_rationale_101", "services_oa_engine_rationale_114", - "services_oa_engine_rationale_1193", - "services_oa_engine_rationale_1308", - "services_oa_engine_rationale_1390", + "services_oa_engine_rationale_1328", + "services_oa_engine_rationale_1443", + "services_oa_engine_rationale_1525", "services_oa_engine_rationale_203", - "services_oa_engine_rationale_613", + "services_oa_engine_rationale_734", "services_oa_engine_rationale_76", - "services_oa_engine_rationale_773", + "services_oa_engine_rationale_894", "services_qc_work_order_fee_summary_rationale_1", "services_workflow_engine_rationale_1" ], "4": [ "api_basic_info_normalize_date_bound", "api_collection_protocol_persist_protocol_sub_resources", - "api_sample_production_reception_body_to_payload", - "api_sample_production_reception_get_current_user_id", - "api_sample_production_reception_get_production_reception_by_sample_code", - "api_sample_production_reception_get_production_reception_detail", - "api_sample_production_reception_get_tenant_no", - "api_sample_production_reception_post_production_reception", - "api_sample_production_reception_put_production_reception", - "api_sample_production_reception_py", - "api_sample_production_reception_resolve_reception_id", + "api_ethnic_list_ethnics_for_select", + "api_ethnic_py", + "core_data_scope_apply_data_scope", + "core_data_scope_get_child_dept_ids", + "core_data_scope_get_user_dept_id", + "core_data_scope_py", + "core_data_scope_resolve_user_role_scopes", "core_utils_format_date", "core_utils_format_datetime", "core_utils_generate_id", @@ -2835,35 +2878,26 @@ "core_utils_parse_date", "core_utils_py", "core_utils_rationale_71", + "crud_api_request_log_apirequestlogcrud", + "crud_api_request_log_delete", + "crud_api_request_log_get", + "crud_api_request_log_get_multi_with_filters", + "crud_api_request_log_py", "crud_base_camel_to_snake", - "crud_base_crudbase", + "crud_base_crudbase_count", "crud_base_crudbase_create", - "crud_base_crudbase_delete", - "crud_base_crudbase_exists", - "crud_base_crudbase_get_all", - "crud_base_crudbase_get_multi", - "crud_base_crudbase_hard_delete", - "crud_base_crudbase_init", "crud_base_get_model_attr", "crud_base_historycrud", "crud_base_historycrud_create_history", "crud_base_py", - "crud_biz_no_generator_allocate_next_biz_no", - "crud_biz_no_generator_format_biz_no", - "crud_biz_no_generator_prefix_for", - "crud_biz_no_generator_py", - "crud_biz_no_generator_rationale_1", - "crud_biz_no_generator_rationale_35", "crud_collection_protocol_active_invoiced_payment_detail_ids", "crud_collection_protocol_add_months_yyyymmdd", "crud_collection_protocol_align_fq_payment_details_payload", "crud_collection_protocol_apply_payment_detail_draft_fields", "crud_collection_protocol_apply_payment_detail_list_filters", "crud_collection_protocol_apply_submit_receipt_finance", - "crud_collection_protocol_apply_submit_refund_finance", "crud_collection_protocol_audit_to_dict", "crud_collection_protocol_batch_submit_receipt_finance", - "crud_collection_protocol_batch_submit_refund_finance", "crud_collection_protocol_build_installment_summary", "crud_collection_protocol_calc_installment_due_amounts", "crud_collection_protocol_classify_installment_warning", @@ -2875,12 +2909,10 @@ "crud_collection_protocol_confirm_refund", "crud_collection_protocol_count_pending_protocol_invoice_requests", "crud_collection_protocol_create_audit", - "crud_collection_protocol_create_collection_protocol", "crud_collection_protocol_dec", "crud_collection_protocol_detail_query_with_protocol", "crud_collection_protocol_detail_to_dict", "crud_collection_protocol_fmt_dt", - "crud_collection_protocol_format_attachment_file_size", "crud_collection_protocol_format_newborn_info", "crud_collection_protocol_format_sample_collect_summary", "crud_collection_protocol_format_storage_cert_sample_info", @@ -2951,7 +2983,6 @@ "crud_collection_protocol_storage_cert_to_dict", "crud_collection_protocol_storage_in_date_to_yyyymmdd", "crud_collection_protocol_submit_receipt_finance", - "crud_collection_protocol_submit_refund_finance", "crud_collection_protocol_today_yyyymmdd", "crud_collection_protocol_total_pages", "crud_collection_protocol_transport_to_dict", @@ -2962,17 +2993,70 @@ "crud_collection_protocol_upsert_party_customer", "crud_collection_protocol_upsert_payment", "crud_collection_protocol_upsert_storage_cert", - "crud_collection_protocol_urls_to_attachment_list", "crud_collection_protocol_user_nick_name_map", "crud_collection_protocol_validate_receipt_finance_submit_ready", "crud_collection_protocol_validate_sample_codes_not_used", "crud_collection_protocol_yyyymmdd_from_date_param", + "crud_dict_data_create_dict_data", + "crud_dict_data_get_dict_data", + "crud_dict_data_is_dict_value_valid", + "crud_dict_data_list_dict_data", + "crud_dict_data_list_dict_data_options", + "crud_dict_data_normalize_transfer_type", + "crud_dict_data_normalize_void_type", + "crud_dict_data_py", + "crud_dict_data_rationale_1", + "crud_dict_data_row_to_dict", + "crud_dict_data_soft_delete_dict_data", + "crud_dict_data_total_pages", + "crud_dict_data_update_dict_data", "crud_env_detect_record_list_env_detect_records", "crud_env_detect_record_row_to_dict", "crud_env_detect_record_split_csv", + "crud_ethnic_list_ethnics", + "crud_ethnic_py", + "crud_ethnic_rationale_1", + "crud_ethnic_row_to_dict", "crud_inbound_sample_special_py", "crud_inbound_sample_special_rationale_1", "crud_inbound_sample_special_update_inbound_sample_special_mark", + "crud_leave_create_leave", + "crud_leave_get_leave", + "crud_leave_list_leaves", + "crud_leave_py", + "crud_leave_row_to_dict", + "crud_leave_soft_delete_leave", + "crud_leave_total_pages", + "crud_leave_update_leave", + "crud_material_stock_log_dec", + "crud_material_stock_log_fmt_dt", + "crud_material_stock_log_list_stock_logs", + "crud_material_stock_log_py", + "crud_material_stock_log_row_to_dict", + "crud_material_stock_log_user_nick_name_map", + "crud_material_usage_amount_for_row", + "crud_material_usage_batch_map", + "crud_material_usage_display_remark", + "crud_material_usage_fmt_date_val", + "crud_material_usage_list_stock_check_requisitions", + "crud_material_usage_list_usages", + "crud_material_usage_list_usages_query", + "crud_material_usage_mark_requisition_fully_used", + "crud_material_usage_paginate_usages", + "crud_material_usage_parse_receiver_purpose_from_remark", + "crud_material_usage_py", + "crud_material_usage_rationale_302", + "crud_material_usage_receiver_display_map", + "crud_material_usage_resolve_receiver_purpose", + "crud_material_usage_row_to_dict", + "crud_material_usage_stock_in_date_for_row", + "crud_material_usage_unit_price_for_row", + "crud_material_usage_usage_unit_label", + "crud_material_usage_user_nick_name_map", + "crud_pilot_service_list_channel_agreements", + "crud_pilot_service_list_checkup_institution_projects", + "crud_pilot_service_list_checkup_institutions", + "crud_pilot_service_row_to_dict_checkup_institution_project", "crud_pre_transit_sample_apply_collection_keyword", "crud_pre_transit_sample_apply_collection_sample_collect_time_filter", "crud_pre_transit_sample_apply_create_time_filter", @@ -2997,14 +3081,54 @@ "crud_pre_transit_sample_sort_key_pre_delivery", "crud_pre_transit_sample_summarize_in_transit_items", "crud_pre_transit_sample_summarize_pre_delivery", - "crud_protocol_donation_convert_active_link_query", - "crud_protocol_donation_convert_assert_biz_no_available", - "crud_protocol_donation_convert_create_convert_link", - "crud_protocol_donation_convert_get_convert_partner", - "crud_protocol_donation_convert_get_partner_sample_codes", - "crud_protocol_donation_convert_has_active_convert_link", - "crud_protocol_donation_convert_py", - "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", + "crud_production_material_filter_material_type", + "crud_production_material_usage_amount_for_row", + "crud_production_material_usage_batch_map", + "crud_production_material_usage_deduct_step_usage_legacy_batch", + "crud_production_material_usage_display_remark", + "crud_production_material_usage_fmt_date_val", + "crud_production_material_usage_list_available_requisitions_for_prep", + "crud_production_material_usage_list_linked_step_usages", + "crud_production_material_usage_list_my_prep_consumptions", + "crud_production_material_usage_list_my_usages", + "crud_production_material_usage_list_prep_consumptions", + "crud_production_material_usage_list_requisition_options", + "crud_production_material_usage_list_stock_check_requisitions", + "crud_production_material_usage_list_usages", + "crud_production_material_usage_list_usages_by_step", + "crud_production_material_usage_list_usages_query", + "crud_production_material_usage_mark_requisition_fully_used", + "crud_production_material_usage_mine_usage_filter", + "crud_production_material_usage_paginate_usages", + "crud_production_material_usage_parse_receiver_purpose_from_remark", + "crud_production_material_usage_prep_consumption_to_dict", + "crud_production_material_usage_py", + "crud_production_material_usage_rationale_1064", + "crud_production_material_usage_rationale_1233", + "crud_production_material_usage_rationale_1312", + "crud_production_material_usage_rationale_195", + "crud_production_material_usage_rationale_20", + "crud_production_material_usage_rationale_367", + "crud_production_material_usage_rationale_391", + "crud_production_material_usage_rationale_42", + "crud_production_material_usage_rationale_448", + "crud_production_material_usage_rationale_524", + "crud_production_material_usage_rationale_595", + "crud_production_material_usage_rationale_773", + "crud_production_material_usage_rationale_878", + "crud_production_material_usage_rationale_934", + "crud_production_material_usage_receiver_display_map", + "crud_production_material_usage_record_step_usage_from_requisition", + "crud_production_material_usage_register_step_usage_from_requisition", + "crud_production_material_usage_resolve_receiver_purpose", + "crud_production_material_usage_revert_step_material_usages", + "crud_production_material_usage_row_to_dict", + "crud_production_material_usage_step_consumed_qty_map", + "crud_production_material_usage_stock_in_date_for_row", + "crud_production_material_usage_unit_price_for_row", + "crud_production_material_usage_usage_unit_label", + "crud_production_material_usage_user_nick_name_map", + "crud_production_task_base_active_step_count_query", "crud_protocol_sample_collection_apply_sample_status_filter", "crud_protocol_sample_collection_base_query", "crud_protocol_sample_collection_fmt_dt", @@ -3013,9 +3137,29 @@ "crud_protocol_sample_collection_row_to_dict", "crud_protocol_sample_collection_sample_status_label", "crud_protocol_sample_collection_total_pages", + "crud_qc_sms_notification_apply_qc_status_filter", + "crud_qc_sms_notification_base_query", + "crud_qc_sms_notification_derive_qc_conclusion", + "crud_qc_sms_notification_ensure_notification", + "crud_qc_sms_notification_eq_ci", + "crud_qc_sms_notification_fetch_completed_tasks", + "crud_qc_sms_notification_fmt_dt", + "crud_qc_sms_notification_generate_sms_content", + "crud_qc_sms_notification_list_notifications", + "crud_qc_sms_notification_normalize_date_bound", + "crud_qc_sms_notification_py", + "crud_qc_sms_notification_qc_complete_time", + "crud_qc_sms_notification_qc_status_label", + "crud_qc_sms_notification_resolve_notification", + "crud_qc_sms_notification_row_to_dict", + "crud_qc_sms_notification_task_stats_subquery", + "crud_qc_sms_notification_toggle_notification_status", + "crud_qc_sms_notification_total_pages", + "crud_qc_sms_notification_unicode_ci", + "crud_qc_work_order_count_unfinished_work_orders_by_tab", "crud_research_donation_audit_to_dict", + "crud_research_donation_batch_delete_donations", "crud_research_donation_collection_to_dict", - "crud_research_donation_convert_from_storage", "crud_research_donation_convert_to_storage", "crud_research_donation_create_collection", "crud_research_donation_create_donation", @@ -3061,61 +3205,12 @@ "crud_research_donation_transport_to_dict", "crud_research_donation_update_donation", "crud_research_donation_user_nick_name_map", - "crud_sample_production_reception_dec", - "crud_sample_production_reception_fmt_dt", - "crud_sample_production_reception_get_by_id", - "crud_sample_production_reception_get_by_reception_id", - "crud_sample_production_reception_get_map_by_reception_ids", - "crud_sample_production_reception_row_to_dict", - "crud_sample_reception_attach_production_reception", - "crud_sample_reception_check_result_get_check_results_for_reception", - "crud_sample_reception_check_result_legacy_results_from_reception", - "crud_sample_reception_check_result_list_results_by_reception_ids", - "crud_sample_reception_check_result_py", - "crud_sample_reception_check_result_result_to_dict", - "crud_sample_reception_dec", - "crud_sample_reception_donation_ids_matching_lab_storage_keyword", - "crud_sample_reception_donation_rows_to_sample_list_items", - "crud_sample_reception_donation_sample_detail_rows_query", - "crud_sample_reception_donation_sample_id_col", - "crud_sample_reception_donation_sample_pending_query", - "crud_sample_reception_finalize_reception_detail", - "crud_sample_reception_fmt_dt", - "crud_sample_reception_format_lab_storage_codes_csv", "crud_sample_reception_get_lab_storage_code_map_by_sample_codes", - "crud_sample_reception_get_reception_by_id", - "crud_sample_reception_get_reception_by_sample_code", - "crud_sample_reception_get_receptions_map_for_donation_samples", - "crud_sample_reception_get_receptions_map_for_samples", - "crud_sample_reception_lab_storage_keyword_like", - "crud_sample_reception_list_pending_protocol_samples", - "crud_sample_reception_list_received_protocol_samples", - "crud_sample_reception_normalize_date_bound", - "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", - "crud_sample_reception_py", - "crud_sample_reception_reception_detail_item", - "crud_sample_reception_reception_detail_item_with_production", - "crud_sample_reception_reception_ids_matching_lab_storage_keyword", - "crud_sample_reception_reception_sample_code", - "crud_sample_reception_reception_to_dict", - "crud_sample_reception_rows_to_sample_list_items", - "crud_sample_reception_sample_codes_matching_lab_storage_keyword", - "crud_sample_reception_sample_detail_rows_query", - "crud_sample_reception_sample_pending_query", - "crud_storage_entry_sms_notification_base_query", - "crud_storage_entry_sms_notification_ensure_notification", - "crud_storage_entry_sms_notification_fetch_sample_type_name", - "crud_storage_entry_sms_notification_fmt_dt", - "crud_storage_entry_sms_notification_generate_sms_content", - "crud_storage_entry_sms_notification_list_notifications", - "crud_storage_entry_sms_notification_normalize_date_bound", - "crud_storage_entry_sms_notification_py", - "crud_storage_entry_sms_notification_resolve_notification", - "crud_storage_entry_sms_notification_row_to_dict", - "crud_storage_entry_sms_notification_storage_status_label", - "crud_storage_entry_sms_notification_toggle_notification_status", - "crud_storage_entry_sms_notification_total_pages", - "crud_storage_entry_sms_notification_unicode_ci", + "crud_workflow_list_completed_tasks", + "crud_workflow_list_my_instances", + "crud_workflow_list_pending_tasks", + "crud_workflow_task_row_to_dict", + "models_production_material_bizproductionmaterialprep", "services_protocol_payment_installment_add_days_yyyymmdd", "services_protocol_payment_installment_add_interval_months_yyyymmdd", "services_protocol_payment_installment_add_months_yyyymmdd", @@ -3149,18 +3244,6 @@ "core_db_collation_rationale_12", "core_db_collation_rationale_7", "core_db_collation_unicode_ci", - "crud_api_request_log_apirequestlogcrud", - "crud_api_request_log_delete", - "crud_api_request_log_get", - "crud_api_request_log_get_multi_with_filters", - "crud_api_request_log_py", - "crud_base_crudbase_count", - "crud_material_stock_log_dec", - "crud_material_stock_log_fmt_dt", - "crud_material_stock_log_list_stock_logs", - "crud_material_stock_log_py", - "crud_material_stock_log_row_to_dict", - "crud_material_stock_log_user_nick_name_map", "crud_outbound_release_review_batch_review", "crud_outbound_release_review_dec", "crud_outbound_release_review_fmt_dt", @@ -3174,12 +3257,14 @@ "crud_outbound_release_review_total_pages", "crud_production_task_spawn_temporary_work_order_from_task", "crud_production_work_order_accept_conclusion_label", + "crud_production_work_order_apply_exclude_inactive_protocol_filter", "crud_production_work_order_apply_planned_start_time_step_filter", "crud_production_work_order_attach_outbound_detail", "crud_production_work_order_attach_reception_detail", "crud_production_work_order_complete_production_work_order", "crud_production_work_order_configure_temp_production_work_order", "crud_production_work_order_create_outbound_production_work_order", + "crud_production_work_order_create_production_work_order_from_reception", "crud_production_work_order_create_production_work_order_manual", "crud_production_work_order_create_temp_production_work_order", "crud_production_work_order_dec_price", @@ -3209,38 +3294,7 @@ "crud_production_work_order_update_production_work_order", "crud_production_work_order_wo_to_dict", "crud_production_work_order_wo_to_response_dict", - "crud_qc_inspection_batch_allocate_batch_name", - "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", - "crud_qc_inspection_batch_assignee_names", - "crud_qc_inspection_batch_batch_assignee_user_ids", - "crud_qc_inspection_batch_batch_has_blocking_tasks", - "crud_qc_inspection_batch_batch_item_ids", - "crud_qc_inspection_batch_batch_to_dict", - "crud_qc_inspection_batch_build_inspection_batch_list", - "crud_qc_inspection_batch_configure_work_order_batches", - "crud_qc_inspection_batch_dec", - "crud_qc_inspection_batch_is_voided_work_order", "crud_qc_inspection_batch_list_inspection_batches", - "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", - "crud_qc_inspection_batch_next_batch_no", - "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", - "crud_qc_inspection_batch_order_source_for_wo", - "crud_qc_inspection_batch_py", - "crud_qc_inspection_batch_soft_delete_batch", - "crud_qc_inspection_batch_sync_batch_assignees", - "crud_qc_inspection_batch_sync_batch_lab_items", - "crud_qc_inspection_batch_sync_batch_third_items", - "crud_qc_inspection_batch_unique_ids", - "crud_qc_inspection_batch_validate_batch_payload", - "crud_qc_lab_test_item_create_lab_item", - "crud_qc_lab_test_item_get_lab_item", - "crud_qc_lab_test_item_item_code_exists", - "crud_qc_lab_test_item_list_active_lab_items", - "crud_qc_lab_test_item_list_lab_items", - "crud_qc_lab_test_item_py", - "crud_qc_lab_test_item_row_to_dict", - "crud_qc_lab_test_item_soft_delete_lab_item", - "crud_qc_lab_test_item_update_lab_item", "crud_qc_task_apply_task_result", "crud_qc_task_assert_task_assignee", "crud_qc_task_assignee_active_users_in_tenant", @@ -3248,14 +3302,10 @@ "crud_qc_task_assignee_is_user_assignee", "crud_qc_task_assignee_list_assignees_by_task_ids", "crud_qc_task_assignee_py", - "crud_qc_task_assignee_rationale_63", "crud_qc_task_assignee_soft_delete_assignees_by_task_ids", - "crud_qc_task_assignee_sync_assignees_for_task", - "crud_qc_task_assignee_validate_assignee_user_ids", "crud_qc_task_complete_task", "crud_qc_task_conclusion_label", "crud_qc_task_create_qc_task_manual", - "crud_qc_task_create_task_for_line", "crud_qc_task_dec", "crud_qc_task_delete_qc_task", "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", @@ -3278,14 +3328,10 @@ "crud_qc_task_update_task_attachments", "crud_qc_work_order_accept_conclusion_label", "crud_qc_work_order_aggregate_qc_tab_counts", - "crud_qc_work_order_apply_item_assignees", "crud_qc_work_order_build_outbound_pilot_context_by_schedule", "crud_qc_work_order_build_work_order_list_summaries", - "crud_qc_work_order_configure_temp_qc_work_order", "crud_qc_work_order_configure_work_order", "crud_qc_work_order_count_mine_unfinished_work_orders_by_tab", - "crud_qc_work_order_count_unfinished_work_orders_by_tab", - "crud_qc_work_order_create_outbound_qc_work_order", "crud_qc_work_order_create_qc_work_order_from_production", "crud_qc_work_order_create_qc_work_order_manual", "crud_qc_work_order_create_temp_qc_work_order", @@ -3313,7 +3359,6 @@ "crud_qc_work_order_get_production_work_order_qc_info", "crud_qc_work_order_get_qc_info_map_for_samples", "crud_qc_work_order_get_schedule_gate_qc_info", - "crud_qc_work_order_get_task_by_source_line_id", "crud_qc_work_order_get_temp_qc_work_order", "crud_qc_work_order_get_temp_qc_work_order_detail", "crud_qc_work_order_get_work_order", @@ -3339,14 +3384,10 @@ "crud_qc_work_order_qc_info_item", "crud_qc_work_order_reception_source_label", "crud_qc_work_order_resolve_cell_product_id_by_barcode", - "crud_qc_work_order_resolve_outbound_biz_type_for_schedule", "crud_qc_work_order_resolve_reception_id_for_work_order_detail", "crud_qc_work_order_resolve_wo_tab_key", "crud_qc_work_order_sample_type_name_for_item", "crud_qc_work_order_sample_type_name_for_reception", - "crud_qc_work_order_soft_delete_tasks_by_source_line_ids", - "crud_qc_work_order_sync_work_order_lab_items", - "crud_qc_work_order_sync_work_order_third_party_items", "crud_qc_work_order_temp_lab_lines", "crud_qc_work_order_temp_tasks", "crud_qc_work_order_temp_third_lines", @@ -3520,6 +3561,12 @@ "core_storage_rationale_38", "core_storage_rationale_53", "core_storage_rationale_83", + "crud_qc_item_param_list_params_by_item", + "crud_qc_item_param_parse_options_list", + "crud_qc_item_param_py", + "crud_qc_item_param_row_to_dict", + "crud_qc_item_param_save_params_for_item", + "crud_qc_item_param_validate_param", "crud_qc_task_result_list_results_by_task", "crud_qc_task_result_list_saved_results_by_task", "crud_qc_task_result_merge_saved_into_template", @@ -3536,16 +3583,12 @@ "crud_workflow_get_process_def", "crud_workflow_get_task", "crud_workflow_get_transitions_by_version", - "crud_workflow_list_completed_tasks", - "crud_workflow_list_my_instances", - "crud_workflow_list_pending_tasks", "crud_workflow_list_process_defs", "crud_workflow_list_versions", "crud_workflow_process_code_exists", "crud_workflow_py", "crud_workflow_row_to_dict", "crud_workflow_soft_delete_process_def", - "crud_workflow_task_row_to_dict", "crud_workflow_total_pages", "crud_workflow_update_instance_status", "crud_workflow_update_process_def", @@ -3577,337 +3620,6 @@ "services_workflow_engine_workflowengine_start_process" ], "7": [ - "crud_material_stock_check_batch_line_to_dict", - "crud_material_stock_check_cancel_check", - "crud_material_stock_check_check_header_to_dict", - "crud_material_stock_check_complete_check", - "crud_material_stock_check_create_check", - "crud_material_stock_check_get_check", - "crud_material_stock_check_get_check_detail", - "crud_material_stock_check_line_counts", - "crud_material_stock_check_list_checks", - "crud_material_stock_check_parse_check_time", - "crud_material_stock_check_py", - "crud_material_stock_check_resolve_unused_item_fields", - "crud_material_stock_check_status_label", - "crud_material_stock_check_unused_amount", - "crud_material_stock_check_unused_line_to_dict", - "crud_material_stock_check_user_nick_name_map", - "crud_outbound_handover_inventory_apply_handover_inventory", - "crud_outbound_handover_inventory_deduct_market_material_for_handover", - "crud_outbound_handover_inventory_get_cell_product_locked", - "crud_outbound_handover_inventory_handover_usage_remark", - "crud_outbound_handover_inventory_handover_usage_remark_prefix", - "crud_outbound_handover_inventory_py", - "crud_outbound_handover_inventory_remove_cell_occupancy_no_commit", - "crud_outbound_handover_inventory_restore_cell_occupancy_no_commit", - "crud_outbound_handover_inventory_revert_handover_inventory", - "crud_outbound_handover_inventory_revert_legacy_qc_handover_usages", - "crud_outbound_handover_inventory_revert_market_handover_usages", - "crud_production_material_prep_batch_map_for_prep_lines", - "crud_production_material_prep_cancel_prep", - "crud_production_material_prep_complete_prep", - "crud_production_material_prep_create_auto_stock_out", - "crud_production_material_prep_create_prep", - "crud_production_material_prep_create_quick_prep", - "crud_production_material_prep_delete_prep", - "crud_production_material_prep_fmt_date", - "crud_production_material_prep_generate_prep_no", - "crud_production_material_prep_generate_stock_in_no", - "crud_production_material_prep_get_or_create_configured_material", - "crud_production_material_prep_get_prep_detail", - "crud_production_material_prep_get_prep_row", - "crud_production_material_prep_header_to_dict", - "crud_production_material_prep_line_to_dict", - "crud_production_material_prep_list_available_material_batches", - "crud_production_material_prep_list_preps", - "crud_production_material_prep_parse_prep_lines", - "crud_production_material_prep_parse_quick_prep_lines", - "crud_production_material_prep_py", - "crud_production_material_prep_rationale_1296", - "crud_production_material_prep_rationale_523", - "crud_production_material_prep_rationale_893", - "crud_production_material_prep_rationale_948", - "crud_production_material_prep_require_draft", - "crud_production_material_prep_status_label", - "crud_production_material_prep_update_prep", - "crud_production_material_prep_user_nick_name_map", - "crud_production_material_prep_validate_requisition", - "crud_production_material_prep_write_prep_consume_usage", - "crud_production_material_prep_write_quick_prep_consume_usage", - "crud_production_material_stock_batch_batch_discard", - "crud_production_material_stock_batch_batch_options", - "crud_production_material_stock_batch_batch_row_to_dict", - "crud_production_material_stock_batch_batch_stock_in", - "crud_production_material_stock_batch_batch_stock_out", - "crud_production_material_stock_batch_create_batch_and_usage", - "crud_production_material_stock_batch_delete_batch", - "crud_production_material_stock_batch_discard_batch", - "crud_production_material_stock_batch_fmt_date", - "crud_production_material_stock_batch_get_batch", - "crud_production_material_stock_batch_get_material_for_update", - "crud_production_material_stock_batch_list_batches", - "crud_production_material_stock_batch_optional_str", - "crud_production_material_stock_batch_parse_date", - "crud_production_material_stock_batch_parse_expire_date", - "crud_production_material_stock_batch_parse_optional_date", - "crud_production_material_stock_batch_py", - "crud_production_material_stock_batch_require_decimal", - "crud_production_material_stock_batch_require_str", - "crud_production_material_stock_batch_stock_in_no_exists", - "crud_production_material_stock_batch_stock_in_one", - "crud_production_material_stock_batch_stock_out_batch", - "crud_production_material_stock_batch_update_batch", - "crud_production_material_stock_batch_usage_batch_snapshots", - "crud_production_material_stock_batch_validate_discard_reason", - "crud_production_material_stock_check_batch_line_to_dict", - "crud_production_material_stock_check_cancel_check", - "crud_production_material_stock_check_check_header_to_dict", - "crud_production_material_stock_check_complete_check", - "crud_production_material_stock_check_create_check", - "crud_production_material_stock_check_get_check", - "crud_production_material_stock_check_get_check_detail", - "crud_production_material_stock_check_line_counts", - "crud_production_material_stock_check_list_checks", - "crud_production_material_stock_check_parse_check_time", - "crud_production_material_stock_check_parse_optional_date", - "crud_production_material_stock_check_py", - "crud_production_material_stock_check_resolve_unused_item_fields", - "crud_production_material_stock_check_save_unused_lines", - "crud_production_material_stock_check_status_label", - "crud_production_material_stock_check_unused_amount", - "crud_production_material_stock_check_unused_line_to_dict", - "crud_production_material_stock_check_user_nick_name_map", - "crud_qc_material_build_manual_out_remark", - "crud_qc_material_code_exists", - "crud_qc_material_create_material", - "crud_qc_material_dec", - "crud_qc_material_fmt_dt", - "crud_qc_material_get_material", - "crud_qc_material_is_enabled_status", - "crud_qc_material_list_materials", - "crud_qc_material_norm_status", - "crud_qc_material_py", - "crud_qc_material_rationale_26", - "crud_qc_material_row_to_dict", - "crud_qc_material_soft_delete_material", - "crud_qc_material_stock_batch_append_batch_qty_adjust", - "crud_qc_material_stock_batch_batch_stock_in", - "crud_qc_material_stock_batch_batch_stock_out", - "crud_qc_material_stock_batch_create_batch_and_usage", - "crud_qc_material_stock_batch_delete_batch", - "crud_qc_material_stock_batch_discard_batch", - "crud_qc_material_stock_batch_get_batch", - "crud_qc_material_stock_batch_get_batch_detail", - "crud_qc_material_stock_batch_get_material_for_update", - "crud_qc_material_stock_batch_parse_date", - "crud_qc_material_stock_batch_parse_expire_date", - "crud_qc_material_stock_batch_py", - "crud_qc_material_stock_batch_require_decimal", - "crud_qc_material_stock_batch_require_str", - "crud_qc_material_stock_batch_stock_in_no_exists", - "crud_qc_material_stock_batch_stock_in_one", - "crud_qc_material_stock_batch_stock_out_batch", - "crud_qc_material_stock_batch_sum_batch_out_total", - "crud_qc_material_stock_batch_update_batch", - "crud_qc_material_stock_batch_usage_batch_snapshots", - "crud_qc_material_stock_batch_validate_discard_reason", - "crud_qc_material_stock_check_batch_line_to_dict", - "crud_qc_material_stock_check_cancel_check", - "crud_qc_material_stock_check_check_header_to_dict", - "crud_qc_material_stock_check_complete_check", - "crud_qc_material_stock_check_create_check", - "crud_qc_material_stock_check_get_check", - "crud_qc_material_stock_check_get_check_detail", - "crud_qc_material_stock_check_line_counts", - "crud_qc_material_stock_check_list_checks", - "crud_qc_material_stock_check_parse_check_time", - "crud_qc_material_stock_check_parse_optional_date", - "crud_qc_material_stock_check_py", - "crud_qc_material_stock_check_rationale_363", - "crud_qc_material_stock_check_resolve_unused_item_fields", - "crud_qc_material_stock_check_save_unused_lines", - "crud_qc_material_stock_check_status_label", - "crud_qc_material_stock_check_unused_amount", - "crud_qc_material_stock_check_unused_line_to_dict", - "crud_qc_material_stock_check_user_nick_name_map", - "crud_qc_material_stock_in", - "crud_qc_material_stock_out", - "crud_qc_material_total_pages", - "crud_qc_material_update_material", - "models_production_material_bizproductionmaterialprepline", - "models_qc_material_bizqcmaterialstockcheck", - "models_qc_material_bizqcmaterialstockcheckbatchline", - "models_qc_material_bizqcmaterialstockcheckunusedline", - "models_qc_material_py", - "services_protocol_pay_mode_switch_dec", - "services_protocol_pay_mode_switch_py", - "services_protocol_pay_mode_switch_rationale_1", - "services_protocol_pay_mode_switch_validate_payment_details_for_save" - ], - "8": [ - "api_ethnic_list_ethnics_for_select", - "api_ethnic_py", - "core_data_scope_apply_data_scope", - "core_data_scope_get_user_dept_id", - "core_data_scope_py", - "core_data_scope_resolve_user_role_scopes", - "crud_dept_build_tree", - "crud_dept_cascade_soft_delete", - "crud_dept_collect_with_ancestors", - "crud_dept_get_dept", - "crud_dept_list_depts", - "crud_dept_list_depts_tree", - "crud_dept_py", - "crud_dept_rationale_42", - "crud_dept_row_to_dict", - "crud_dept_soft_delete_dept", - "crud_dept_update_dept", - "crud_ethnic_list_ethnics", - "crud_ethnic_py", - "crud_ethnic_rationale_1", - "crud_ethnic_row_to_dict", - "crud_leave_create_leave", - "crud_leave_get_leave", - "crud_leave_list_leaves", - "crud_leave_py", - "crud_leave_row_to_dict", - "crud_leave_soft_delete_leave", - "crud_leave_total_pages", - "crud_leave_update_leave", - "crud_material_usage_amount_for_row", - "crud_material_usage_batch_map", - "crud_material_usage_display_remark", - "crud_material_usage_fmt_date_val", - "crud_material_usage_list_stock_check_requisitions", - "crud_material_usage_list_usages", - "crud_material_usage_list_usages_query", - "crud_material_usage_mark_requisition_fully_used", - "crud_material_usage_paginate_usages", - "crud_material_usage_parse_receiver_purpose_from_remark", - "crud_material_usage_py", - "crud_material_usage_rationale_302", - "crud_material_usage_receiver_display_map", - "crud_material_usage_resolve_receiver_purpose", - "crud_material_usage_row_to_dict", - "crud_material_usage_stock_in_date_for_row", - "crud_material_usage_unit_price_for_row", - "crud_material_usage_usage_unit_label", - "crud_material_usage_user_nick_name_map", - "crud_menu_build_tree", - "crud_menu_cascade_soft_delete", - "crud_menu_get_menu", - "crud_menu_list_menus", - "crud_menu_list_menus_tree", - "crud_menu_menu_name_exists", - "crud_menu_py", - "crud_menu_row_to_dict", - "crud_menu_soft_delete_menu", - "crud_menu_update_menu", - "crud_pilot_service_list_channel_agreements", - "crud_pilot_service_list_checkup_institution_invoices", - "crud_pilot_service_list_project_system_items", - "crud_production_material_filter_material_type", - "crud_production_material_usage_amount_for_row", - "crud_production_material_usage_batch_map", - "crud_production_material_usage_deduct_step_usage_legacy_batch", - "crud_production_material_usage_display_remark", - "crud_production_material_usage_fmt_date_val", - "crud_production_material_usage_list_available_requisitions_for_prep", - "crud_production_material_usage_list_linked_step_usages", - "crud_production_material_usage_list_my_prep_consumptions", - "crud_production_material_usage_list_my_usages", - "crud_production_material_usage_list_prep_consumptions", - "crud_production_material_usage_list_requisition_options", - "crud_production_material_usage_list_stock_check_requisitions", - "crud_production_material_usage_list_usages", - "crud_production_material_usage_list_usages_by_step", - "crud_production_material_usage_list_usages_query", - "crud_production_material_usage_mark_requisition_fully_used", - "crud_production_material_usage_mine_usage_filter", - "crud_production_material_usage_paginate_usages", - "crud_production_material_usage_parse_receiver_purpose_from_remark", - "crud_production_material_usage_prep_consumption_to_dict", - "crud_production_material_usage_py", - "crud_production_material_usage_rationale_1064", - "crud_production_material_usage_rationale_1233", - "crud_production_material_usage_rationale_1312", - "crud_production_material_usage_rationale_195", - "crud_production_material_usage_rationale_20", - "crud_production_material_usage_rationale_367", - "crud_production_material_usage_rationale_391", - "crud_production_material_usage_rationale_42", - "crud_production_material_usage_rationale_448", - "crud_production_material_usage_rationale_524", - "crud_production_material_usage_rationale_595", - "crud_production_material_usage_rationale_773", - "crud_production_material_usage_rationale_934", - "crud_production_material_usage_receiver_display_map", - "crud_production_material_usage_record_step_usage_from_requisition", - "crud_production_material_usage_resolve_receiver_purpose", - "crud_production_material_usage_revert_step_material_usages", - "crud_production_material_usage_row_to_dict", - "crud_production_material_usage_step_consumed_qty_map", - "crud_production_material_usage_stock_in_date_for_row", - "crud_production_material_usage_unit_price_for_row", - "crud_production_material_usage_usage_unit_label", - "crud_production_material_usage_user_nick_name_map", - "crud_qc_material_usage_amount_for_row", - "crud_qc_material_usage_batch_map", - "crud_qc_material_usage_deduct_for_task", - "crud_qc_material_usage_deduct_task_usage_legacy_batch", - "crud_qc_material_usage_display_remark", - "crud_qc_material_usage_fmt_date_val", - "crud_qc_material_usage_linked_qc_task_no_map", - "crud_qc_material_usage_list_linked_task_usages", - "crud_qc_material_usage_list_my_usages", - "crud_qc_material_usage_list_requisition_options", - "crud_qc_material_usage_list_stock_check_requisitions", - "crud_qc_material_usage_list_usages", - "crud_qc_material_usage_list_usages_by_task", - "crud_qc_material_usage_list_usages_query", - "crud_qc_material_usage_mine_usage_filter", - "crud_qc_material_usage_paginate_usages", - "crud_qc_material_usage_parse_receiver_purpose_from_remark", - "crud_qc_material_usage_py", - "crud_qc_material_usage_rationale_181", - "crud_qc_material_usage_rationale_19", - "crud_qc_material_usage_rationale_222", - "crud_qc_material_usage_rationale_408", - "crud_qc_material_usage_rationale_41", - "crud_qc_material_usage_rationale_431", - "crud_qc_material_usage_rationale_488", - "crud_qc_material_usage_rationale_537", - "crud_qc_material_usage_rationale_607", - "crud_qc_material_usage_rationale_774", - "crud_qc_material_usage_rationale_874", - "crud_qc_material_usage_rationale_959", - "crud_qc_material_usage_receiver_display_map", - "crud_qc_material_usage_record_task_usage_from_requisition", - "crud_qc_material_usage_resolve_receiver_purpose", - "crud_qc_material_usage_revert_task_material_usages", - "crud_qc_material_usage_row_to_dict", - "crud_qc_material_usage_stock_in_date_for_row", - "crud_qc_material_usage_task_consumed_qty_map", - "crud_qc_material_usage_unit_price_for_row", - "crud_qc_material_usage_usage_unit_label", - "crud_qc_material_usage_user_nick_name_map", - "crud_sample_sms_notification_accept_conclusion_label", - "crud_sample_sms_notification_base_query", - "crud_sample_sms_notification_ensure_notification", - "crud_sample_sms_notification_fetch_sample_type_name", - "crud_sample_sms_notification_fmt_dt", - "crud_sample_sms_notification_generate_sms_content", - "crud_sample_sms_notification_list_notifications", - "crud_sample_sms_notification_normalize_date_bound", - "crud_sample_sms_notification_py", - "crud_sample_sms_notification_resolve_notification", - "crud_sample_sms_notification_row_to_dict", - "crud_sample_sms_notification_total_pages", - "crud_sample_sms_notification_unicode_ci", - "models_production_material_bizproductionmaterialprep" - ], - "9": [ "api_production_get_next_cell_product_code", "core_protocol_status_display_build_void_type_label_map", "core_protocol_status_display_format_protocol_status_label", @@ -3920,7 +3632,6 @@ "crud_cell_product_build_descendant_chain", "crud_cell_product_build_facility_path_label", "crud_cell_product_build_split_product_codes", - "crud_cell_product_create_cell_product", "crud_cell_product_create_cell_products_batch", "crud_cell_product_create_cell_products_by_quantity", "crud_cell_product_delete_cell_product", @@ -3960,14 +3671,22 @@ "crud_equipment_snapshot_rationale_1", "crud_equipment_snapshot_rationale_29", "crud_equipment_snapshot_resolve_equipment_list_snapshot", - "crud_production_material_usage_rationale_878", - "crud_production_material_usage_register_step_usage_from_requisition", + "crud_outbound_handover_inventory_apply_handover_inventory", + "crud_outbound_handover_inventory_deduct_market_material_for_handover", + "crud_outbound_handover_inventory_get_cell_product_locked", + "crud_outbound_handover_inventory_handover_usage_remark", + "crud_outbound_handover_inventory_handover_usage_remark_prefix", + "crud_outbound_handover_inventory_py", + "crud_outbound_handover_inventory_remove_cell_occupancy_no_commit", + "crud_outbound_handover_inventory_restore_cell_occupancy_no_commit", + "crud_outbound_handover_inventory_revert_handover_inventory", + "crud_outbound_handover_inventory_revert_legacy_qc_handover_usages", + "crud_outbound_handover_inventory_revert_market_handover_usages", "crud_production_task_add_task_step", "crud_production_task_aggregate_production_tab_step_field", "crud_production_task_assert_step_assignee_for_write", "crud_production_task_assert_task_assignee", "crud_production_task_assert_task_step_assignee_or_legacy", - "crud_production_task_base_active_step_count_query", "crud_production_task_batch_load_step_sub_tables", "crud_production_task_clone_route_to_task", "crud_production_task_clone_step_consumables", @@ -3982,10 +3701,10 @@ "crud_production_task_create_occupancy_for_product", "crud_production_task_create_production_task", "crud_production_task_delete_production_task", - "crud_production_task_delete_task_step", "crud_production_task_dispatch_task_steps", "crud_production_task_empty_production_tab_step_counts", "crud_production_task_empty_step_sub_tables", + "crud_production_task_enrich_assignee_names", "crud_production_task_enrich_handover_times", "crud_production_task_enrich_outbound_task_items", "crud_production_task_enrich_tasks_with_step_summaries", @@ -4005,17 +3724,9 @@ "crud_production_task_reassign_production_task", "crud_production_task_record_task_handover", "crud_production_task_reorder_task_steps", - "crud_production_task_replace_step_configured_reagents", - "crud_production_task_replace_step_consumables", - "crud_production_task_replace_step_data_collections", - "crud_production_task_replace_step_outputs", - "crud_production_task_replace_step_reagents", - "crud_production_task_require_requisition_for_catalog_material", "crud_production_task_resolve_production_tab_key", "crud_production_task_resolve_sub_table_order_num", - "crud_production_task_set_task_inputs", "crud_production_task_set_task_outputs", - "crud_production_task_soft_delete_sub", "crud_production_task_step_assignee_active_users_in_tenant", "crud_production_task_step_assignee_active_users_with_role_in_tenant", "crud_production_task_step_assignee_enrich_step_assignees", @@ -4040,7 +3751,6 @@ "crud_production_task_update_production_task", "crud_production_task_update_task_status", "crud_production_task_validate_assignee_user_id", - "crud_production_work_order_apply_exclude_inactive_protocol_filter", "crud_production_work_order_sync_production_work_order_status_from_tasks", "crud_storage_occupancy_add_stored_occupancy_no_commit", "crud_storage_occupancy_assert_batch_slots_unique", @@ -4064,7 +3774,497 @@ "crud_storage_occupancy_remove_occupancy", "crud_storage_occupancy_row_to_dict" ], + "8": [ + "crud_base_crudbase_update", + "crud_clinical_payment_auto_create_payment", + "crud_collection_protocol_get_protocol_nos_used_in_protocols", + "crud_outbound_handover_fmt_dt", + "crud_outbound_handover_get_handover_by_schedule", + "crud_outbound_handover_get_outbound_handover", + "crud_outbound_handover_get_outbound_handover_view", + "crud_outbound_handover_handover_row_to_dict", + "crud_outbound_handover_handover_view_dict", + "crud_outbound_handover_parse_handover_time", + "crud_outbound_handover_py", + "crud_outbound_handover_rationale_103", + "crud_outbound_handover_rationale_113", + "crud_outbound_handover_rationale_147", + "crud_outbound_handover_save_outbound_handover", + "crud_outbound_release_material_cell_row_to_dict", + "crud_outbound_release_material_enrich_cell_dicts_with_live_status", + "crud_outbound_release_material_find_outbound_cell_row", + "crud_outbound_release_material_find_outbound_qc_material_row", + "crud_outbound_release_material_fmt_dt", + "crud_outbound_release_material_get_outbound_material", + "crud_outbound_release_material_get_schedule", + "crud_outbound_release_material_legacy_paper_rows_from_attachments", + "crud_outbound_release_material_material_header_to_dict", + "crud_outbound_release_material_paper_row_to_dict", + "crud_outbound_release_material_py", + "crud_outbound_release_material_qc_material_row_to_dict", + "crud_outbound_release_material_save_outbound_material", + "crud_outbound_release_material_soft_delete_outbound_cells_not_in", + "crud_outbound_release_material_soft_delete_outbound_qc_materials_not_in", + "crud_pilot_application_complete_application", + "crud_pilot_application_create_basic_experiment_sale_schedules", + "crud_pilot_application_create_infusion_plan", + "crud_pilot_application_create_schedule", + "crud_pilot_application_create_schedule_products", + "crud_pilot_application_format_yyyy_mm_dd", + "crud_pilot_application_generate_application_no", + "crud_pilot_application_get_application", + "crud_pilot_application_get_or_create_infusion_plan", + "crud_pilot_application_get_patient_by_application", + "crud_pilot_application_get_schedule_for_plan", + "crud_pilot_application_list_applications", + "crud_pilot_application_list_infusion_plans", + "crud_pilot_application_list_schedules_by_plan", + "crud_pilot_application_mark_schedule_complete", + "crud_pilot_application_normalize_infusion_status_code", + "crud_pilot_application_normalize_yyyymmdd", + "crud_pilot_application_parse_infusion_datetime", + "crud_pilot_application_prepare_infusion_plan_payload", + "crud_pilot_application_py", + "crud_pilot_application_release_application_no_for_soft_delete", + "crud_pilot_application_row_to_dict_application", + "crud_pilot_application_row_to_dict_infusion_plan", + "crud_pilot_application_row_to_dict_infusion_schedule", + "crud_pilot_application_row_to_dict_patient", + "crud_pilot_application_row_to_dict_schedule_product", + "crud_pilot_application_save_application_infusion", + "crud_pilot_application_save_patient", + "crud_pilot_application_schedule_deletable", + "crud_pilot_application_schedule_has_blocking_links", + "crud_pilot_application_schedule_infusion_editable", + "crud_pilot_application_schedule_locked", + "crud_pilot_application_soft_delete_application", + "crud_pilot_application_soft_delete_infusion_plan", + "crud_pilot_application_soft_delete_schedule", + "crud_pilot_application_start_application", + "crud_pilot_application_update_infusion_plan", + "crud_pilot_application_update_schedule", + "crud_pilot_application_update_schedule_editable", + "crud_pilot_application_update_schedule_order_only", + "crud_pilot_application_upsert_application_infusion", + "crud_pilot_application_upsert_schedule_products", + "crud_pilot_application_void_application", + "crud_pilot_checkup_batch_create_checkups", + "crud_pilot_checkup_create_checkup", + "crud_pilot_checkup_delete_actual_item", + "crud_pilot_checkup_delete_reserve_item", + "crud_pilot_checkup_ensure_checkup_for_patient", + "crud_pilot_checkup_generate_checkup_no", + "crud_pilot_checkup_get_checkup_by_application", + "crud_pilot_checkup_get_checkup_by_id", + "crud_pilot_checkup_list_actual_items", + "crud_pilot_checkup_list_checkups_paginated", + "crud_pilot_checkup_list_pending_patients", + "crud_pilot_checkup_list_reserve_items", + "crud_pilot_checkup_mark_checkup_checked", + "crud_pilot_checkup_parse_optional_datetime", + "crud_pilot_checkup_py", + "crud_pilot_checkup_remove_checkup_for_patient", + "crud_pilot_checkup_row_to_dict_actual_item", + "crud_pilot_checkup_row_to_dict_checkup", + "crud_pilot_checkup_row_to_dict_reserve_item", + "crud_pilot_checkup_save_actual_items", + "crud_pilot_checkup_save_reserve_items", + "crud_pilot_checkup_settle_checkup_fee", + "crud_pilot_checkup_soft_delete_checkup", + "crud_pilot_checkup_update_checkup", + "crud_pilot_infusion_confirm_confirm_infusion", + "crud_pilot_infusion_confirm_create_infusion_confirm", + "crud_pilot_infusion_confirm_delete_infusion_confirm", + "crud_pilot_infusion_confirm_get_confirm_by_id", + "crud_pilot_infusion_confirm_get_confirm_by_schedule", + "crud_pilot_infusion_confirm_list_confirms_by_application", + "crud_pilot_infusion_confirm_py", + "crud_pilot_infusion_confirm_rationale_113", + "crud_pilot_infusion_confirm_row_to_dict", + "crud_pilot_infusion_confirm_update_infusion_confirm", + "crud_pilot_infusion_schedule_mgmt_create_settlement_txn", + "crud_pilot_infusion_schedule_mgmt_deduct_fee_on_complete", + "crud_pilot_infusion_schedule_mgmt_find_existing_settlement_txn", + "crud_pilot_infusion_schedule_mgmt_find_service_order_product", + "crud_pilot_infusion_schedule_mgmt_get_infusion_schedule_detail", + "crud_pilot_infusion_schedule_mgmt_get_plan_schedule_course_meta", + "crud_pilot_infusion_schedule_mgmt_get_products_for_schedule", + "crud_pilot_infusion_schedule_mgmt_list_infusion_schedules_mgmt", + "crud_pilot_infusion_schedule_mgmt_py", + "crud_pilot_infusion_schedule_mgmt_resolve_course_display", + "crud_pilot_infusion_schedule_mgmt_resolve_yfk_unit_price", + "crud_pilot_infusion_schedule_mgmt_row_to_dict_product", + "crud_pilot_infusion_schedule_mgmt_row_to_dict_schedule", + "crud_pilot_infusion_schedule_mgmt_schedule_product_to_txn_item", + "crud_pilot_infusion_schedule_mgmt_settlement_remark_marker", + "crud_pilot_infusion_schedule_mgmt_settlement_remark_markers_for_lookup", + "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", + "crud_pilot_infusion_schedule_mgmt_update_infusion_status", + "crud_pilot_infusion_schedule_mgmt_update_qc_status", + "crud_pilot_outbound_status_sync_get_schedule", + "crud_pilot_outbound_status_sync_is_pilot_outbound_production", + "crud_pilot_outbound_status_sync_is_pilot_outbound_qc", + "crud_pilot_outbound_status_sync_py", + "crud_pilot_outbound_status_sync_sync_pilot_outbound_from_schedule", + "crud_pilot_outbound_status_sync_sync_production_work_order_from_schedule", + "crud_pilot_outbound_status_sync_sync_qc_work_order_from_schedule", + "crud_pilot_outbound_status_sync_sync_schedule_from_production_work_order", + "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", + "crud_pilot_outbound_status_sync_touch", + "crud_qc_material_amount_auth_assert_user_in_auth_dept", + "crud_qc_material_amount_auth_get_amount_view_role", + "crud_qc_material_amount_auth_get_auth_dept_id", + "crud_qc_material_amount_auth_grant_amount_view_role", + "crud_qc_material_amount_auth_list_authorized_users", + "crud_qc_material_amount_auth_py", + "crud_qc_material_amount_auth_revoke_amount_view_role", + "crud_qc_material_amount_auth_row_to_dict", + "crud_qc_material_amount_auth_user_has_role_binding" + ], + "9": [ + "crud_material_stock_check_batch_line_to_dict", + "crud_material_stock_check_cancel_check", + "crud_material_stock_check_check_header_to_dict", + "crud_material_stock_check_complete_check", + "crud_material_stock_check_get_check", + "crud_material_stock_check_get_check_detail", + "crud_material_stock_check_line_counts", + "crud_material_stock_check_list_checks", + "crud_material_stock_check_parse_optional_date", + "crud_material_stock_check_py", + "crud_material_stock_check_resolve_unused_item_fields", + "crud_material_stock_check_save_unused_lines", + "crud_material_stock_check_status_label", + "crud_material_stock_check_unused_amount", + "crud_material_stock_check_unused_line_to_dict", + "crud_material_stock_check_user_nick_name_map", + "crud_production_material_prep_batch_map_for_prep_lines", + "crud_production_material_prep_cancel_prep", + "crud_production_material_prep_complete_prep", + "crud_production_material_prep_create_auto_stock_out", + "crud_production_material_prep_create_prep", + "crud_production_material_prep_create_quick_prep", + "crud_production_material_prep_delete_prep", + "crud_production_material_prep_fmt_date", + "crud_production_material_prep_generate_prep_no", + "crud_production_material_prep_generate_stock_in_no", + "crud_production_material_prep_get_or_create_configured_material", + "crud_production_material_prep_get_prep_detail", + "crud_production_material_prep_get_prep_row", + "crud_production_material_prep_header_to_dict", + "crud_production_material_prep_line_to_dict", + "crud_production_material_prep_list_available_material_batches", + "crud_production_material_prep_list_preps", + "crud_production_material_prep_parse_prep_lines", + "crud_production_material_prep_parse_quick_prep_lines", + "crud_production_material_prep_py", + "crud_production_material_prep_rationale_1296", + "crud_production_material_prep_rationale_523", + "crud_production_material_prep_rationale_893", + "crud_production_material_prep_rationale_948", + "crud_production_material_prep_require_draft", + "crud_production_material_prep_status_label", + "crud_production_material_prep_update_prep", + "crud_production_material_prep_user_nick_name_map", + "crud_production_material_prep_validate_requisition", + "crud_production_material_prep_write_prep_consume_usage", + "crud_production_material_prep_write_quick_prep_consume_usage", + "crud_production_material_stock_check_batch_line_to_dict", + "crud_production_material_stock_check_cancel_check", + "crud_production_material_stock_check_check_header_to_dict", + "crud_production_material_stock_check_complete_check", + "crud_production_material_stock_check_create_check", + "crud_production_material_stock_check_get_check", + "crud_production_material_stock_check_get_check_detail", + "crud_production_material_stock_check_line_counts", + "crud_production_material_stock_check_list_checks", + "crud_production_material_stock_check_parse_check_time", + "crud_production_material_stock_check_parse_optional_date", + "crud_production_material_stock_check_py", + "crud_production_material_stock_check_resolve_unused_item_fields", + "crud_production_material_stock_check_save_unused_lines", + "crud_production_material_stock_check_status_label", + "crud_production_material_stock_check_unused_amount", + "crud_production_material_stock_check_unused_line_to_dict", + "crud_production_material_stock_check_user_nick_name_map", + "crud_qc_material_stock_batch_append_batch_qty_adjust", + "crud_qc_material_stock_batch_batch_options", + "crud_qc_material_stock_batch_batch_row_to_dict", + "crud_qc_material_stock_batch_batch_stock_in", + "crud_qc_material_stock_batch_batch_stock_out", + "crud_qc_material_stock_batch_create_batch_and_usage", + "crud_qc_material_stock_batch_delete_batch", + "crud_qc_material_stock_batch_discard_batch", + "crud_qc_material_stock_batch_fmt_date", + "crud_qc_material_stock_batch_get_batch", + "crud_qc_material_stock_batch_get_batch_detail", + "crud_qc_material_stock_batch_get_material_for_update", + "crud_qc_material_stock_batch_list_batches", + "crud_qc_material_stock_batch_parse_date", + "crud_qc_material_stock_batch_parse_expire_date", + "crud_qc_material_stock_batch_py", + "crud_qc_material_stock_batch_require_decimal", + "crud_qc_material_stock_batch_require_str", + "crud_qc_material_stock_batch_stock_in_no_exists", + "crud_qc_material_stock_batch_stock_in_one", + "crud_qc_material_stock_batch_stock_out_batch", + "crud_qc_material_stock_batch_sum_batch_out_total", + "crud_qc_material_stock_batch_update_batch", + "crud_qc_material_stock_batch_usage_batch_snapshots", + "crud_qc_material_stock_batch_validate_discard_reason", + "crud_qc_material_stock_check_batch_line_to_dict", + "crud_qc_material_stock_check_cancel_check", + "crud_qc_material_stock_check_check_header_to_dict", + "crud_qc_material_stock_check_complete_check", + "crud_qc_material_stock_check_create_check", + "crud_qc_material_stock_check_get_check", + "crud_qc_material_stock_check_get_check_detail", + "crud_qc_material_stock_check_line_counts", + "crud_qc_material_stock_check_list_checks", + "crud_qc_material_stock_check_parse_check_time", + "crud_qc_material_stock_check_parse_optional_date", + "crud_qc_material_stock_check_py", + "crud_qc_material_stock_check_rationale_363", + "crud_qc_material_stock_check_resolve_unused_item_fields", + "crud_qc_material_stock_check_save_unused_lines", + "crud_qc_material_stock_check_status_label", + "crud_qc_material_stock_check_unused_amount", + "crud_qc_material_stock_check_unused_line_to_dict", + "crud_qc_material_stock_check_user_nick_name_map", + "models_production_material_bizproductionmaterialprepline", + "models_qc_material_bizqcmaterialstockcheck", + "models_qc_material_bizqcmaterialstockcheckbatchline", + "models_qc_material_bizqcmaterialstockcheckunusedline", + "models_qc_material_py", + "services_protocol_pay_mode_switch_dec", + "services_protocol_pay_mode_switch_py", + "services_protocol_pay_mode_switch_rationale_1", + "services_protocol_pay_mode_switch_validate_payment_details_for_save" + ], "10": [ + "crud_oa_approval_app_to_dict", + "crud_oa_approval_create_app", + "crud_oa_approval_create_version", + "crud_oa_approval_delete_app", + "crud_oa_approval_delete_group", + "crud_oa_approval_delete_role", + "crud_oa_approval_dumps", + "crud_oa_approval_ensure_presets", + "crud_oa_approval_find_draft", + "crud_oa_approval_find_latest_published", + "crud_oa_approval_get_app", + "crud_oa_approval_get_group", + "crud_oa_approval_get_or_create_draft", + "crud_oa_approval_get_role", + "crud_oa_approval_list_apps", + "crud_oa_approval_list_oa_role_user_ids", + "crud_oa_approval_loads", + "crud_oa_approval_py", + "crud_oa_approval_save_draft", + "crud_oa_approval_update_app", + "crud_oa_approval_update_group", + "crud_oa_approval_update_role", + "crud_oa_approval_version_draft_to_dict", + "services_oa_assignee_active_user_id", + "services_oa_assignee_assigneeresolveerror", + "services_oa_assignee_py", + "services_oa_assignee_rationale_1", + "services_oa_assignee_rationale_97", + "services_oa_assignee_resolve_assignees", + "services_oa_assignee_resolve_dept_leader", + "services_oa_assignee_resolve_direct_supervisor", + "services_oa_engine_add_instance_event", + "services_oa_engine_add_sign", + "services_oa_engine_advance_from", + "services_oa_engine_advanced", + "services_oa_engine_append_pending_nodes", + "services_oa_engine_assignee_meta", + "services_oa_engine_build_progress_items", + "services_oa_engine_check_initiator_scope", + "services_oa_engine_complete_task", + "services_oa_engine_create_tasks_for_node", + "services_oa_engine_dumps", + "services_oa_engine_enrich_list_rows", + "services_oa_engine_find_node", + "services_oa_engine_flow_node_key_order", + "services_oa_engine_flow_root", + "services_oa_engine_fmt_dt", + "services_oa_engine_get_instance", + "services_oa_engine_get_instance_detail", + "services_oa_engine_get_template_detail", + "services_oa_engine_instance_progress_summary", + "services_oa_engine_instance_to_dict", + "services_oa_engine_list_tasks", + "services_oa_engine_list_templates", + "services_oa_engine_loads", + "services_oa_engine_next_task_order_num", + "services_oa_engine_node_type", + "services_oa_engine_oaengineerror", + "services_oa_engine_preview_people", + "services_oa_engine_preview_start_flow", + "services_oa_engine_py", + "services_oa_engine_resubmit_instance", + "services_oa_engine_return_task", + "services_oa_engine_role_name_map", + "services_oa_engine_sort_tasks_for_detail", + "services_oa_engine_start_instance", + "services_oa_engine_task_round", + "services_oa_engine_terminal_item", + "services_oa_engine_user_name_map", + "services_oa_engine_walk_preview_nodes", + "services_oa_engine_withdraw_instance", + "services_oa_formula_apply_formulas_and_linkages", + "services_oa_formula_eval_formula", + "services_oa_formula_extract_rules", + "services_oa_formula_formulaerror", + "services_oa_formula_preprocess_formula", + "services_oa_formula_py", + "services_oa_formula_rationale_1", + "services_oa_formula_rationale_232", + "services_oa_formula_rationale_69", + "services_oa_formula_safeeval", + "services_oa_formula_safeeval_init", + "services_oa_formula_safeeval_visit", + "services_oa_formula_safeeval_visit_binop", + "services_oa_formula_safeeval_visit_boolop", + "services_oa_formula_safeeval_visit_call", + "services_oa_formula_safeeval_visit_compare", + "services_oa_formula_safeeval_visit_constant", + "services_oa_formula_safeeval_visit_expression", + "services_oa_formula_safeeval_visit_ifexp", + "services_oa_formula_safeeval_visit_list", + "services_oa_formula_safeeval_visit_name", + "services_oa_formula_safeeval_visit_nameconstant", + "services_oa_formula_safeeval_visit_num", + "services_oa_formula_safeeval_visit_str", + "services_oa_formula_safeeval_visit_unaryop", + "services_oa_formula_to_number", + "services_oa_formula_truthy", + "services_oa_formula_walk_rules", + "services_oa_publish_count_fillable_fields", + "services_oa_publish_extract_rules", + "services_oa_publish_node_type", + "services_oa_publish_publish_app", + "services_oa_publish_py", + "services_oa_publish_rationale_319", + "services_oa_publish_validate_control_types", + "services_oa_publish_validate_draft_for_publish", + "services_oa_publish_validate_flow_tree", + "services_oa_publish_validate_oa_roles_referenced", + "services_oa_publish_walk_form_rules" + ], + "11": [ + "api_sample_production_reception_body_to_payload", + "api_sample_production_reception_get_current_user_id", + "api_sample_production_reception_get_production_reception_by_sample_code", + "api_sample_production_reception_get_production_reception_detail", + "api_sample_production_reception_get_tenant_no", + "api_sample_production_reception_post_production_reception", + "api_sample_production_reception_put_production_reception", + "api_sample_production_reception_py", + "api_sample_production_reception_resolve_reception_id", + "crud_collection_protocol_format_attachment_file_size", + "crud_collection_protocol_urls_to_attachment_list", + "crud_sample_production_reception_apply_payload_to_row", + "crud_sample_production_reception_create_production_reception", + "crud_sample_production_reception_dec", + "crud_sample_production_reception_fmt_dt", + "crud_sample_production_reception_get_by_id", + "crud_sample_production_reception_get_by_reception_id", + "crud_sample_production_reception_get_map_by_reception_ids", + "crud_sample_production_reception_get_qc_reception", + "crud_sample_production_reception_int_val", + "crud_sample_production_reception_py", + "crud_sample_production_reception_resolve_field_profile", + "crud_sample_production_reception_row_to_dict", + "crud_sample_production_reception_update_production_reception", + "crud_sample_production_reception_validate_handler_user_id", + "crud_sample_production_reception_validate_payload", + "crud_sample_reception_attach_production_reception", + "crud_sample_reception_can_edit_sample_reception", + "crud_sample_reception_check_result_get_check_results_for_reception", + "crud_sample_reception_check_result_legacy_results_from_reception", + "crud_sample_reception_check_result_list_results_by_reception_ids", + "crud_sample_reception_check_result_py", + "crud_sample_reception_check_result_result_to_dict", + "crud_sample_reception_check_result_save_reception_check_results", + "crud_sample_reception_check_result_soft_delete_reception_check_results", + "crud_sample_reception_check_result_sync_legacy_columns_from_results", + "crud_sample_reception_create_sample_reception", + "crud_sample_reception_dec", + "crud_sample_reception_donation_ids_matching_lab_storage_keyword", + "crud_sample_reception_donation_rows_to_sample_list_items", + "crud_sample_reception_donation_sample_detail_rows_query", + "crud_sample_reception_donation_sample_id_col", + "crud_sample_reception_donation_sample_pending_query", + "crud_sample_reception_finalize_reception_detail", + "crud_sample_reception_fmt_dt", + "crud_sample_reception_format_lab_storage_codes_csv", + "crud_sample_reception_get_reception_by_id", + "crud_sample_reception_get_reception_by_sample_code", + "crud_sample_reception_get_receptions_map_for_donation_samples", + "crud_sample_reception_get_receptions_map_for_samples", + "crud_sample_reception_lab_code_allocate_lab_storage_codes", + "crud_sample_reception_lab_code_allocate_one_seq", + "crud_sample_reception_lab_code_assert_lab_storage_code_available", + "crud_sample_reception_lab_code_format_lab_storage_code", + "crud_sample_reception_lab_code_max_existing_seq", + "crud_sample_reception_lab_code_parse_reception_date", + "crud_sample_reception_lab_code_py", + "crud_sample_reception_lab_code_rationale_1", + "crud_sample_reception_lab_code_rationale_165", + "crud_sample_reception_lab_code_rationale_177", + "crud_sample_reception_lab_code_sync_lab_storage_seq_after_use", + "crud_sample_reception_lab_code_sync_sequence_from_existing", + "crud_sample_reception_lab_code_validate_and_parse_lab_storage_code", + "crud_sample_reception_lab_code_validate_lab_storage_code", + "crud_sample_reception_lab_storage_keyword_like", + "crud_sample_reception_list_pending_protocol_samples", + "crud_sample_reception_list_received_protocol_samples", + "crud_sample_reception_normalize_date_bound", + "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", + "crud_sample_reception_py", + "crud_sample_reception_reception_detail_item", + "crud_sample_reception_reception_detail_item_with_production", + "crud_sample_reception_reception_ids_matching_lab_storage_keyword", + "crud_sample_reception_reception_sample_code", + "crud_sample_reception_reception_to_dict", + "crud_sample_reception_rows_to_sample_list_items", + "crud_sample_reception_sample_codes_matching_lab_storage_keyword", + "crud_sample_reception_sample_detail_rows_query", + "crud_sample_reception_sample_pending_query", + "crud_sample_reception_update_sample_reception", + "crud_sample_sms_notification_accept_conclusion_label", + "crud_sample_sms_notification_base_query", + "crud_sample_sms_notification_ensure_notification", + "crud_sample_sms_notification_fetch_sample_type_name", + "crud_sample_sms_notification_fmt_dt", + "crud_sample_sms_notification_generate_sms_content", + "crud_sample_sms_notification_list_notifications", + "crud_sample_sms_notification_normalize_date_bound", + "crud_sample_sms_notification_py", + "crud_sample_sms_notification_resolve_notification", + "crud_sample_sms_notification_row_to_dict", + "crud_sample_sms_notification_toggle_notification_status", + "crud_sample_sms_notification_total_pages", + "crud_sample_sms_notification_unicode_ci", + "crud_storage_entry_sms_notification_base_query", + "crud_storage_entry_sms_notification_ensure_notification", + "crud_storage_entry_sms_notification_fetch_sample_type_name", + "crud_storage_entry_sms_notification_fmt_dt", + "crud_storage_entry_sms_notification_generate_sms_content", + "crud_storage_entry_sms_notification_list_notifications", + "crud_storage_entry_sms_notification_normalize_date_bound", + "crud_storage_entry_sms_notification_py", + "crud_storage_entry_sms_notification_resolve_notification", + "crud_storage_entry_sms_notification_row_to_dict", + "crud_storage_entry_sms_notification_storage_status_label", + "crud_storage_entry_sms_notification_toggle_notification_status", + "crud_storage_entry_sms_notification_total_pages", + "crud_storage_entry_sms_notification_unicode_ci", + "crud_storage_release_review_create_review_from_reception" + ], + "12": [ "api_operations_accesslogcreatebody", "api_operations_accesslogupdatebody", "api_operations_cleanroomcreatebody", @@ -4103,10 +4303,10 @@ "crud_storage_facility_batch_create_slots", "crud_storage_facility_build_node_path_cache", "crud_storage_facility_build_slot_keyword_sql_filters", + "crud_storage_facility_clear_slots_by_facility_node", "crud_storage_facility_collect_descendant_ids", "crud_storage_facility_collect_slot_host_node_ids", "crud_storage_facility_create_facility", - "crud_storage_facility_create_slot", "crud_storage_facility_ensure_slot_layout_order", "crud_storage_facility_exact_node_ids_for_path", "crud_storage_facility_facility_node_ids_matching_keyword", @@ -4172,7 +4372,7 @@ "services_storage_facility_code_refresh_outbound_release_cell_slot_names", "services_storage_facility_code_validate_node_code" ], - "11": [ + "13": [ "api_public_avatar_url_field", "api_public_build_current_user_payload", "api_public_build_user_info_payload", @@ -4242,7 +4442,9 @@ "core_security_py", "core_security_rationale_5", "core_security_verify_password", - "crud_sample_reception_can_edit_sample_reception", + "crud_base_crudbase_delete", + "crud_base_crudbase_hard_delete", + "crud_role_update_role_menus", "crud_user_usercrudcompat_get_by_user_no", "schemas_auth_profileupdaterequest", "schemas_auth_rationale_55", @@ -4256,167 +4458,6 @@ "tasks_init_py", "tasks_init_shutdown_scheduler" ], - "12": [ - "api_pilot_application_api_save_application", - "crud_pilot_application_auto_generate_schedules", - "crud_pilot_application_complete_application", - "crud_pilot_application_create_application", - "crud_pilot_application_create_basic_experiment_sale_schedules", - "crud_pilot_application_create_infusion_plan", - "crud_pilot_application_create_schedule", - "crud_pilot_application_create_schedule_products", - "crud_pilot_application_format_yyyy_mm_dd", - "crud_pilot_application_generate_application_no", - "crud_pilot_application_get_application", - "crud_pilot_application_get_or_create_infusion_plan", - "crud_pilot_application_get_patient_by_application", - "crud_pilot_application_get_schedule_for_plan", - "crud_pilot_application_list_applications", - "crud_pilot_application_list_infusion_plans", - "crud_pilot_application_list_schedules_by_plan", - "crud_pilot_application_mark_schedule_complete", - "crud_pilot_application_normalize_infusion_status_code", - "crud_pilot_application_normalize_yyyymmdd", - "crud_pilot_application_parse_infusion_datetime", - "crud_pilot_application_prepare_infusion_plan_payload", - "crud_pilot_application_py", - "crud_pilot_application_release_application_no_for_soft_delete", - "crud_pilot_application_resolve_application_attachment_payload", - "crud_pilot_application_row_to_dict_application", - "crud_pilot_application_row_to_dict_infusion_plan", - "crud_pilot_application_row_to_dict_infusion_schedule", - "crud_pilot_application_row_to_dict_patient", - "crud_pilot_application_row_to_dict_schedule_product", - "crud_pilot_application_save_application_infusion", - "crud_pilot_application_save_patient", - "crud_pilot_application_schedule_deletable", - "crud_pilot_application_schedule_has_blocking_links", - "crud_pilot_application_schedule_infusion_editable", - "crud_pilot_application_schedule_locked", - "crud_pilot_application_soft_delete_application", - "crud_pilot_application_soft_delete_infusion_plan", - "crud_pilot_application_soft_delete_schedule", - "crud_pilot_application_start_application", - "crud_pilot_application_update_application", - "crud_pilot_application_update_infusion_plan", - "crud_pilot_application_update_schedule", - "crud_pilot_application_update_schedule_editable", - "crud_pilot_application_update_schedule_order_only", - "crud_pilot_application_upsert_application_infusion", - "crud_pilot_application_upsert_schedule_products", - "crud_pilot_application_void_application", - "crud_pilot_checkup_batch_create_checkups", - "crud_pilot_checkup_create_checkup", - "crud_pilot_checkup_delete_actual_item", - "crud_pilot_checkup_delete_reserve_item", - "crud_pilot_checkup_ensure_checkup_for_patient", - "crud_pilot_checkup_generate_checkup_no", - "crud_pilot_checkup_get_checkup_by_id", - "crud_pilot_checkup_list_actual_items", - "crud_pilot_checkup_list_checkups_paginated", - "crud_pilot_checkup_list_pending_patients", - "crud_pilot_checkup_list_reserve_items", - "crud_pilot_checkup_mark_checkup_checked", - "crud_pilot_checkup_parse_optional_datetime", - "crud_pilot_checkup_py", - "crud_pilot_checkup_remove_checkup_for_patient", - "crud_pilot_checkup_row_to_dict_actual_item", - "crud_pilot_checkup_row_to_dict_checkup", - "crud_pilot_checkup_row_to_dict_reserve_item", - "crud_pilot_checkup_save_actual_items", - "crud_pilot_checkup_save_reserve_items", - "crud_pilot_checkup_settle_checkup_fee", - "crud_pilot_checkup_soft_delete_checkup", - "crud_pilot_checkup_update_checkup", - "crud_pilot_outbound_status_sync_get_schedule", - "crud_pilot_outbound_status_sync_is_pilot_outbound_production", - "crud_pilot_outbound_status_sync_is_pilot_outbound_qc", - "crud_pilot_outbound_status_sync_py", - "crud_pilot_outbound_status_sync_sync_pilot_outbound_from_schedule", - "crud_pilot_outbound_status_sync_sync_production_work_order_from_schedule", - "crud_pilot_outbound_status_sync_sync_qc_work_order_from_schedule", - "crud_pilot_outbound_status_sync_sync_schedule_from_production_work_order", - "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", - "crud_pilot_outbound_status_sync_touch" - ], - "13": [ - "crud_oa_approval_find_latest_published", - "crud_oa_approval_list_oa_role_user_ids", - "services_oa_assignee_active_user_id", - "services_oa_assignee_assigneeresolveerror", - "services_oa_assignee_py", - "services_oa_assignee_rationale_1", - "services_oa_assignee_rationale_97", - "services_oa_assignee_resolve_assignees", - "services_oa_assignee_resolve_dept_leader", - "services_oa_assignee_resolve_direct_supervisor", - "services_oa_engine_add_instance_event", - "services_oa_engine_add_sign", - "services_oa_engine_advance_from", - "services_oa_engine_advanced", - "services_oa_engine_append_pending_nodes", - "services_oa_engine_assignee_meta", - "services_oa_engine_build_progress_items", - "services_oa_engine_check_initiator_scope", - "services_oa_engine_complete_task", - "services_oa_engine_create_tasks_for_node", - "services_oa_engine_dumps", - "services_oa_engine_find_node", - "services_oa_engine_flow_node_key_order", - "services_oa_engine_flow_root", - "services_oa_engine_fmt_dt", - "services_oa_engine_get_instance", - "services_oa_engine_get_instance_detail", - "services_oa_engine_get_template_detail", - "services_oa_engine_instance_to_dict", - "services_oa_engine_list_tasks", - "services_oa_engine_list_templates", - "services_oa_engine_loads", - "services_oa_engine_next_task_order_num", - "services_oa_engine_node_type", - "services_oa_engine_oaengineerror", - "services_oa_engine_preview_people", - "services_oa_engine_preview_start_flow", - "services_oa_engine_py", - "services_oa_engine_resubmit_instance", - "services_oa_engine_return_task", - "services_oa_engine_role_name_map", - "services_oa_engine_sort_tasks_for_detail", - "services_oa_engine_start_instance", - "services_oa_engine_task_round", - "services_oa_engine_terminal_item", - "services_oa_engine_user_name_map", - "services_oa_engine_walk_preview_nodes", - "services_oa_engine_withdraw_instance", - "services_oa_formula_apply_formulas_and_linkages", - "services_oa_formula_eval_formula", - "services_oa_formula_extract_rules", - "services_oa_formula_formulaerror", - "services_oa_formula_preprocess_formula", - "services_oa_formula_py", - "services_oa_formula_rationale_1", - "services_oa_formula_rationale_232", - "services_oa_formula_rationale_69", - "services_oa_formula_safeeval", - "services_oa_formula_safeeval_init", - "services_oa_formula_safeeval_visit", - "services_oa_formula_safeeval_visit_binop", - "services_oa_formula_safeeval_visit_boolop", - "services_oa_formula_safeeval_visit_call", - "services_oa_formula_safeeval_visit_compare", - "services_oa_formula_safeeval_visit_constant", - "services_oa_formula_safeeval_visit_expression", - "services_oa_formula_safeeval_visit_ifexp", - "services_oa_formula_safeeval_visit_list", - "services_oa_formula_safeeval_visit_name", - "services_oa_formula_safeeval_visit_nameconstant", - "services_oa_formula_safeeval_visit_num", - "services_oa_formula_safeeval_visit_str", - "services_oa_formula_safeeval_visit_unaryop", - "services_oa_formula_to_number", - "services_oa_formula_truthy", - "services_oa_formula_walk_rules" - ], "14": [ "api_production_batchstockinbody", "api_production_batchstockinitem", @@ -4492,62 +4533,46 @@ "schemas_qc_work_order_productionqcworkordercreatebody" ], "15": [ - "crud_clinical_payment_map_payments_by_schedule_ids", - "crud_outbound_handover_fmt_dt", - "crud_outbound_handover_get_handover_by_schedule", - "crud_outbound_handover_get_outbound_handover", - "crud_outbound_handover_get_outbound_handover_view", - "crud_outbound_handover_handover_row_to_dict", - "crud_outbound_handover_handover_view_dict", - "crud_outbound_handover_parse_handover_time", - "crud_outbound_handover_py", - "crud_outbound_handover_rationale_103", - "crud_outbound_handover_rationale_113", - "crud_outbound_handover_rationale_147", - "crud_outbound_handover_save_outbound_handover", - "crud_outbound_release_material_cell_row_to_dict", - "crud_outbound_release_material_enrich_cell_dicts_with_live_status", - "crud_outbound_release_material_find_outbound_cell_row", - "crud_outbound_release_material_find_outbound_qc_material_row", - "crud_outbound_release_material_fmt_dt", - "crud_outbound_release_material_get_outbound_material", - "crud_outbound_release_material_get_schedule", - "crud_outbound_release_material_legacy_paper_rows_from_attachments", - "crud_outbound_release_material_material_header_to_dict", - "crud_outbound_release_material_paper_row_to_dict", - "crud_outbound_release_material_py", - "crud_outbound_release_material_qc_material_row_to_dict", - "crud_outbound_release_material_save_outbound_material", - "crud_outbound_release_material_soft_delete_outbound_cells_not_in", - "crud_outbound_release_material_soft_delete_outbound_qc_materials_not_in", - "crud_pilot_infusion_confirm_confirm_infusion", - "crud_pilot_infusion_confirm_create_infusion_confirm", - "crud_pilot_infusion_confirm_delete_infusion_confirm", - "crud_pilot_infusion_confirm_get_confirm_by_id", - "crud_pilot_infusion_confirm_get_confirm_by_schedule", - "crud_pilot_infusion_confirm_list_confirms_by_application", - "crud_pilot_infusion_confirm_py", - "crud_pilot_infusion_confirm_rationale_113", - "crud_pilot_infusion_confirm_row_to_dict", - "crud_pilot_infusion_confirm_update_infusion_confirm", - "crud_pilot_infusion_schedule_mgmt_create_settlement_txn", - "crud_pilot_infusion_schedule_mgmt_deduct_fee_on_complete", - "crud_pilot_infusion_schedule_mgmt_find_existing_settlement_txn", - "crud_pilot_infusion_schedule_mgmt_find_service_order_product", - "crud_pilot_infusion_schedule_mgmt_get_infusion_schedule_detail", - "crud_pilot_infusion_schedule_mgmt_get_plan_schedule_course_meta", - "crud_pilot_infusion_schedule_mgmt_get_products_for_schedule", - "crud_pilot_infusion_schedule_mgmt_list_infusion_schedules_mgmt", - "crud_pilot_infusion_schedule_mgmt_py", - "crud_pilot_infusion_schedule_mgmt_resolve_course_display", - "crud_pilot_infusion_schedule_mgmt_resolve_yfk_unit_price", - "crud_pilot_infusion_schedule_mgmt_row_to_dict_product", - "crud_pilot_infusion_schedule_mgmt_row_to_dict_schedule", - "crud_pilot_infusion_schedule_mgmt_schedule_product_to_txn_item", - "crud_pilot_infusion_schedule_mgmt_settlement_remark_marker", - "crud_pilot_infusion_schedule_mgmt_settlement_remark_markers_for_lookup", - "crud_pilot_infusion_schedule_mgmt_update_infusion_status", - "crud_pilot_infusion_schedule_mgmt_update_qc_status" + "crud_qc_material_usage_amount_for_row", + "crud_qc_material_usage_batch_map", + "crud_qc_material_usage_deduct_for_task", + "crud_qc_material_usage_deduct_task_usage_legacy_batch", + "crud_qc_material_usage_display_remark", + "crud_qc_material_usage_fmt_date_val", + "crud_qc_material_usage_linked_qc_task_no_map", + "crud_qc_material_usage_list_linked_task_usages", + "crud_qc_material_usage_list_my_usages", + "crud_qc_material_usage_list_requisition_options", + "crud_qc_material_usage_list_stock_check_requisitions", + "crud_qc_material_usage_list_usages", + "crud_qc_material_usage_list_usages_by_task", + "crud_qc_material_usage_list_usages_query", + "crud_qc_material_usage_mine_usage_filter", + "crud_qc_material_usage_paginate_usages", + "crud_qc_material_usage_parse_receiver_purpose_from_remark", + "crud_qc_material_usage_py", + "crud_qc_material_usage_rationale_181", + "crud_qc_material_usage_rationale_19", + "crud_qc_material_usage_rationale_222", + "crud_qc_material_usage_rationale_408", + "crud_qc_material_usage_rationale_41", + "crud_qc_material_usage_rationale_431", + "crud_qc_material_usage_rationale_488", + "crud_qc_material_usage_rationale_537", + "crud_qc_material_usage_rationale_607", + "crud_qc_material_usage_rationale_774", + "crud_qc_material_usage_rationale_874", + "crud_qc_material_usage_rationale_959", + "crud_qc_material_usage_receiver_display_map", + "crud_qc_material_usage_record_task_usage_from_requisition", + "crud_qc_material_usage_resolve_receiver_purpose", + "crud_qc_material_usage_revert_task_material_usages", + "crud_qc_material_usage_row_to_dict", + "crud_qc_material_usage_stock_in_date_for_row", + "crud_qc_material_usage_task_consumed_qty_map", + "crud_qc_material_usage_unit_price_for_row", + "crud_qc_material_usage_usage_unit_label", + "crud_qc_material_usage_user_nick_name_map" ], "16": [ "core_wechat_pay_get_wechat_pay_client", @@ -4555,7 +4580,6 @@ "core_wechat_pay_py", "core_wechat_pay_rationale_1", "core_wechat_pay_rationale_131", - "core_wechat_pay_rationale_254", "core_wechat_pay_rationale_410", "core_wechat_pay_rationale_443", "core_wechat_pay_rationale_60", @@ -4569,7 +4593,6 @@ "core_wechat_pay_wechatpayclient_init", "core_wechat_pay_wechatpayclient_make_request", "core_wechat_pay_wechatpayclient_query_order", - "core_wechat_pay_wechatpayclient_refund", "core_wechat_pay_wechatpayclient_unified_order", "core_wechat_pay_wechatpayv2client", "core_wechat_pay_wechatpayv2client_build_miniprogram_pay_params", @@ -4631,43 +4654,6 @@ "crud_process_update_process" ], "19": [ - "crud_qc_sms_notification_apply_qc_status_filter", - "crud_qc_sms_notification_base_query", - "crud_qc_sms_notification_derive_qc_conclusion", - "crud_qc_sms_notification_ensure_notification", - "crud_qc_sms_notification_eq_ci", - "crud_qc_sms_notification_fetch_completed_tasks", - "crud_qc_sms_notification_fmt_dt", - "crud_qc_sms_notification_generate_sms_content", - "crud_qc_sms_notification_list_notifications", - "crud_qc_sms_notification_normalize_date_bound", - "crud_qc_sms_notification_py", - "crud_qc_sms_notification_qc_complete_time", - "crud_qc_sms_notification_qc_status_label", - "crud_qc_sms_notification_resolve_notification", - "crud_qc_sms_notification_row_to_dict", - "crud_qc_sms_notification_task_stats_subquery", - "crud_qc_sms_notification_toggle_notification_status", - "crud_qc_sms_notification_total_pages", - "crud_qc_sms_notification_unicode_ci" - ], - "20": [ - "crud_equipment_create_equipment", - "crud_equipment_dec", - "crud_equipment_equipment_code_exists", - "crud_equipment_equipment_is_referenced", - "crud_equipment_get_equipment", - "crud_equipment_list_equipments", - "crud_equipment_norm_status", - "crud_equipment_parse_date", - "crud_equipment_py", - "crud_equipment_rationale_1", - "crud_equipment_row_to_dict", - "crud_equipment_soft_delete_equipment", - "crud_equipment_total_pages", - "crud_equipment_update_equipment" - ], - "21": [ "core_wechat_message_py", "core_wechat_message_rationale_1", "core_wechat_message_rationale_86", @@ -4682,7 +4668,7 @@ "core_wechat_message_wechatmessageservice_init", "core_wechat_message_wechatmessageservice_send_template_message" ], - "22": [ + "20": [ "crud_reagent_stock_log_deduct_for_step", "crud_reagent_stock_log_display_remark", "crud_reagent_stock_log_list_stock_logs", @@ -4696,7 +4682,7 @@ "crud_reagent_stock_log_row_to_dict", "crud_reagent_stock_log_user_nick_name_map" ], - "23": [ + "21": [ "crud_consumable_stock_log_deduct_for_step", "crud_consumable_stock_log_display_remark", "crud_consumable_stock_log_list_stock_logs", @@ -4710,18 +4696,32 @@ "crud_consumable_stock_log_row_to_dict", "crud_consumable_stock_log_user_nick_name_map" ], - "24": [ - "services_oa_publish_count_fillable_fields", - "services_oa_publish_extract_rules", - "services_oa_publish_node_type", - "services_oa_publish_py", - "services_oa_publish_validate_control_types", - "services_oa_publish_validate_draft_for_publish", - "services_oa_publish_validate_flow_tree", - "services_oa_publish_validate_oa_roles_referenced", - "services_oa_publish_walk_form_rules" + "22": [ + "crud_dept_build_tree", + "crud_dept_cascade_soft_delete", + "crud_dept_collect_with_ancestors", + "crud_dept_get_dept", + "crud_dept_list_depts", + "crud_dept_list_depts_tree", + "crud_dept_py", + "crud_dept_rationale_42", + "crud_dept_row_to_dict", + "crud_dept_soft_delete_dept", + "crud_dept_update_dept" ], - "25": [ + "23": [ + "crud_menu_build_tree", + "crud_menu_cascade_soft_delete", + "crud_menu_get_menu", + "crud_menu_list_menus", + "crud_menu_list_menus_tree", + "crud_menu_menu_name_exists", + "crud_menu_py", + "crud_menu_row_to_dict", + "crud_menu_soft_delete_menu", + "crud_menu_update_menu" + ], + "24": [ "models_base_basemodel", "models_base_basemodel_to_dict", "models_base_get_active", @@ -4731,7 +4731,7 @@ "models_base_softdeletemodel_soft_delete", "models_base_tablename" ], - "26": [ + "25": [ "core_order_status_compat_derive_legacy_status_from_three", "core_order_status_compat_derive_three_status_from_legacy", "core_order_status_compat_py", @@ -4740,69 +4740,69 @@ "core_order_status_compat_threestatus", "core_order_status_compat_to_decimal" ], - "27": [ + "26": [ "basesettings", "core_config_config", "core_config_py", "core_config_settings" ], - "28": [ + "27": [ "core_database_auto_fill_create_dept_id", "core_database_get_db", "core_database_py", "core_database_rationale_31" ], - "29": [ + "28": [ "api_menu_get_menu_list", "api_menu_py", "api_menu_rationale_1" ], - "30": [ + "29": [ "core_qc_material_amount_auth_constants_py", "core_qc_material_amount_auth_constants_rationale_1" ], - "31": [ + "30": [ "core_context_py", "core_context_rationale_1" ], - "32": [ + "31": [ "api_init_py", "api_init_rationale_1" ], - "33": [ + "32": [ "init_py" ], - "34": [ + "33": [ "core_init_py" ], - "35": [ + "34": [ "core_wechat_message_rationale_143" ], - "36": [ + "35": [ "core_wechat_message_rationale_179" ], - "37": [ + "36": [ "core_wechat_message_rationale_215" ], - "38": [ + "37": [ "core_wechat_message_rationale_251" ], - "39": [ + "38": [ "core_wechat_message_rationale_289" ], - "40": [ + "39": [ "core_wechat_message_rationale_325" ], - "41": [ + "40": [ "models_init_py" ], - "42": [ + "41": [ "schemas_init_py" ], - "43": [ + "42": [ "crud_init_py" ], - "44": [ + "43": [ "ws_init_py" ] }, @@ -4816,27 +4816,27 @@ "6": 0.02, "7": 0.03, "8": 0.03, - "9": 0.03, + "9": 0.04, "10": 0.05, - "11": 0.05, + "11": 0.04, "12": 0.05, - "13": 0.07, + "13": 0.05, "14": 0.45, - "15": 0.07, + "15": 0.11, "16": 0.12, "17": 0.16, "18": 0.21, - "19": 0.23, - "20": 0.27, + "19": 0.24, + "20": 0.24, "21": 0.24, - "22": 0.24, - "23": 0.24, - "24": 0.47, - "25": 0.29, - "26": 0.38, + "22": 0.31, + "23": 0.33, + "24": 0.29, + "25": 0.38, + "26": 0.5, "27": 0.5, - "28": 0.5, - "29": 0.67, + "28": 0.67, + "29": 1.0, "30": 1.0, "31": 1.0, "32": 1.0, @@ -4850,8 +4850,7 @@ "40": 1.0, "41": 1.0, "42": 1.0, - "43": 1.0, - "44": 1.0 + "43": 1.0 }, "gods": [ { @@ -4928,6 +4927,17 @@ "relation": "calls", "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `get_menu_list()` unexpectedly reaches hub `success_response()`" }, + { + "source": "sync_lab_storage_seq_after_use()", + "target": "generate_uuid()", + "source_files": [ + "crud/sample_reception_lab_code.py", + "core/utils.py" + ], + "confidence": "INFERRED", + "relation": "calls", + "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `sync_lab_storage_seq_after_use()` unexpectedly reaches hub `generate_uuid()`" + }, { "source": "\u4fdd\u7559\u5339\u914d\u8282\u70b9\u53ca\u5176\u5168\u90e8\u4e0a\u7ea7\uff0c\u4f9b\u5173\u952e\u8bcd\u68c0\u7d22\u540e\u4ecd\u80fd\u6b63\u786e\u7ec4\u6811\u3002", "target": "SysDept", @@ -4949,17 +4959,6 @@ "confidence": "INFERRED", "relation": "uses", "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `\u7269\u54c1\u5355\u4f4d CRUD\uff08biz_item_unit\uff09` unexpectedly reaches hub `BizItemUnit`" - }, - { - "source": "\u5feb\u9012\u516c\u53f8 CRUD\uff08biz_express_company\uff09", - "target": "BizExpressCompany", - "source_files": [ - "crud/express_company.py", - "models/models.py" - ], - "confidence": "INFERRED", - "relation": "uses", - "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `\u5feb\u9012\u516c\u53f8 CRUD\uff08biz_express_company\uff09` unexpectedly reaches hub `BizExpressCompany`" } ] } \ No newline at end of file diff --git a/backend/graphify-out/.graphify_extract.json b/backend/graphify-out/.graphify_extract.json index 630b384d..bdfe8f41 100644 --- a/backend/graphify-out/.graphify_extract.json +++ b/backend/graphify-out/.graphify_extract.json @@ -32326,145 +32326,159 @@ "source_file": "services/oa_engine.py", "source_location": "L338" }, + { + "id": "services_oa_engine_instance_progress_summary", + "label": "_instance_progress_summary()", + "file_type": "code", + "source_file": "services/oa_engine.py", + "source_location": "L364" + }, + { + "id": "services_oa_engine_enrich_list_rows", + "label": "_enrich_list_rows()", + "file_type": "code", + "source_file": "services/oa_engine.py", + "source_location": "L405" + }, { "id": "services_oa_engine_user_name_map", "label": "_user_name_map()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L356" + "source_location": "L477" }, { "id": "services_oa_engine_list_templates", "label": "list_templates()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L364" + "source_location": "L485" }, { "id": "services_oa_engine_get_template_detail", "label": "get_template_detail()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L394" + "source_location": "L515" }, { "id": "services_oa_engine_role_name_map", "label": "_role_name_map()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L427" + "source_location": "L548" }, { "id": "services_oa_engine_assignee_meta", "label": "_assignee_meta()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L455" + "source_location": "L576" }, { "id": "services_oa_engine_preview_people", "label": "_preview_people()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L470" + "source_location": "L591" }, { "id": "services_oa_engine_walk_preview_nodes", "label": "_walk_preview_nodes()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L478" + "source_location": "L599" }, { "id": "services_oa_engine_preview_start_flow", "label": "preview_start_flow()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L604" + "source_location": "L725" }, { "id": "services_oa_engine_create_tasks_for_node", "label": "_create_tasks_for_node()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L654" + "source_location": "L775" }, { "id": "services_oa_engine_match_condition_group", "label": "_match_condition_group()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L723" + "source_location": "L844" }, { "id": "services_oa_engine_advance_from", "label": "advance_from()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L764" + "source_location": "L885" }, { "id": "services_oa_engine_start_instance", "label": "start_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L834" + "source_location": "L955" }, { "id": "services_oa_engine_get_instance", "label": "_get_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L938" + "source_location": "L1059" }, { "id": "services_oa_engine_get_instance_detail", "label": "get_instance_detail()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L949" + "source_location": "L1070" }, { "id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1013" + "source_location": "L1134" }, { "id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1063" + "source_location": "L1198" }, { "id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1184" + "source_location": "L1319" }, { "id": "services_oa_engine_return_task", "label": "return_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1300" + "source_location": "L1435" }, { "id": "services_oa_engine_resubmit_instance", "label": "resubmit_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1381" + "source_location": "L1516" }, { "id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1395" + "source_location": "L1530" }, { "id": "services_oa_engine_rationale_76", @@ -32495,39 +32509,39 @@ "source_location": "L203" }, { - "id": "services_oa_engine_rationale_613", + "id": "services_oa_engine_rationale_734", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u89e3\u6790\u5177\u4f53\u4eba\u5458\uff1b\u6761\u4ef6\u5206\u652f\u5c55\u5f00\u5c55\u793a\uff09\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L613" + "source_location": "L734" }, { - "id": "services_oa_engine_rationale_773", + "id": "services_oa_engine_rationale_894", "label": "\u4ece\u67d0\u8282\u70b9\u7684\u4e0b\u4e00\u8df3\u5f00\u59cb\u63a8\u8fdb\uff1bfrom_node \u4e3a None \u8868\u793a\u4ece start \u8fdb\u5165\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L773" + "source_location": "L894" }, { - "id": "services_oa_engine_rationale_1193", + "id": "services_oa_engine_rationale_1328", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L1193" + "source_location": "L1328" }, { - "id": "services_oa_engine_rationale_1308", + "id": "services_oa_engine_rationale_1443", "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u672c\u5355\u7ec8\u6001 returned\uff1b\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L1308" + "source_location": "L1443" }, { - "id": "services_oa_engine_rationale_1390", + "id": "services_oa_engine_rationale_1525", "label": "\u5df2\u5e9f\u5f03\uff1a\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L1390" + "source_location": "L1525" }, { "id": "services_workflow_callback_py", @@ -118667,29 +118681,47 @@ }, { "source": "services_oa_engine_py", - "target": "services_oa_engine_user_name_map", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "services/oa_engine.py", - "source_location": "L356", - "weight": 1.0 - }, - { - "source": "services_oa_engine_py", - "target": "services_oa_engine_list_templates", + "target": "services_oa_engine_instance_progress_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", "source_location": "L364", "weight": 1.0 }, + { + "source": "services_oa_engine_py", + "target": "services_oa_engine_enrich_list_rows", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L405", + "weight": 1.0 + }, + { + "source": "services_oa_engine_py", + "target": "services_oa_engine_user_name_map", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L477", + "weight": 1.0 + }, + { + "source": "services_oa_engine_py", + "target": "services_oa_engine_list_templates", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L485", + "weight": 1.0 + }, { "source": "services_oa_engine_py", "target": "services_oa_engine_get_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L394", + "source_location": "L515", "weight": 1.0 }, { @@ -118698,7 +118730,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L427", + "source_location": "L548", "weight": 1.0 }, { @@ -118707,7 +118739,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L455", + "source_location": "L576", "weight": 1.0 }, { @@ -118716,7 +118748,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L470", + "source_location": "L591", "weight": 1.0 }, { @@ -118725,7 +118757,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L478", + "source_location": "L599", "weight": 1.0 }, { @@ -118734,7 +118766,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L604", + "source_location": "L725", "weight": 1.0 }, { @@ -118743,7 +118775,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L654", + "source_location": "L775", "weight": 1.0 }, { @@ -118752,7 +118784,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L723", + "source_location": "L844", "weight": 1.0 }, { @@ -118761,7 +118793,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L764", + "source_location": "L885", "weight": 1.0 }, { @@ -118770,7 +118802,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L834", + "source_location": "L955", "weight": 1.0 }, { @@ -118779,7 +118811,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L938", + "source_location": "L1059", "weight": 1.0 }, { @@ -118788,7 +118820,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L949", + "source_location": "L1070", "weight": 1.0 }, { @@ -118797,7 +118829,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1013", + "source_location": "L1134", "weight": 1.0 }, { @@ -118806,7 +118838,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1063", + "source_location": "L1198", "weight": 1.0 }, { @@ -118815,7 +118847,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1184", + "source_location": "L1319", "weight": 1.0 }, { @@ -118824,7 +118856,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1300", + "source_location": "L1435", "weight": 1.0 }, { @@ -118833,7 +118865,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1381", + "source_location": "L1516", "weight": 1.0 }, { @@ -118842,7 +118874,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1395", + "source_location": "L1530", "weight": 1.0 }, { @@ -118971,13 +119003,31 @@ "source_location": "L329", "weight": 1.0 }, + { + "source": "services_oa_engine_enrich_list_rows", + "target": "services_oa_engine_user_name_map", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L455", + "weight": 1.0 + }, + { + "source": "services_oa_engine_enrich_list_rows", + "target": "services_oa_engine_instance_progress_summary", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L464", + "weight": 1.0 + }, { "source": "services_oa_engine_list_templates", "target": "services_oa_engine_check_initiator_scope", "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L377", + "source_location": "L498", "weight": 1.0 }, { @@ -118986,7 +119036,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L399", + "source_location": "L520", "weight": 1.0 }, { @@ -118995,7 +119045,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L400", + "source_location": "L521", "weight": 1.0 }, { @@ -119004,7 +119054,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L412", + "source_location": "L533", "weight": 1.0 }, { @@ -119013,7 +119063,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L414", + "source_location": "L535", "weight": 1.0 }, { @@ -119022,7 +119072,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L459", + "source_location": "L580", "weight": 1.0 }, { @@ -119031,7 +119081,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L471", + "source_location": "L592", "weight": 1.0 }, { @@ -119040,7 +119090,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L491", + "source_location": "L612", "weight": 1.0 }, { @@ -119049,7 +119099,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L493", + "source_location": "L614", "weight": 1.0 }, { @@ -119058,7 +119108,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L564", + "source_location": "L685", "weight": 1.0 }, { @@ -119067,7 +119117,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L616", + "source_location": "L737", "weight": 1.0 }, { @@ -119076,7 +119126,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L617", + "source_location": "L738", "weight": 1.0 }, { @@ -119085,7 +119135,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L635", + "source_location": "L756", "weight": 1.0 }, { @@ -119094,7 +119144,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L641", + "source_location": "L762", "weight": 1.0 }, { @@ -119103,7 +119153,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L647", + "source_location": "L768", "weight": 1.0 }, { @@ -119112,7 +119162,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L664", + "source_location": "L785", "weight": 1.0 }, { @@ -119121,7 +119171,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L675", + "source_location": "L796", "weight": 1.0 }, { @@ -119130,7 +119180,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L687", + "source_location": "L808", "weight": 1.0 }, { @@ -119139,7 +119189,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L692", + "source_location": "L813", "weight": 1.0 }, { @@ -119148,7 +119198,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L774", + "source_location": "L895", "weight": 1.0 }, { @@ -119157,7 +119207,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L774", + "source_location": "L895", "weight": 1.0 }, { @@ -119166,7 +119216,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L790", + "source_location": "L911", "weight": 1.0 }, { @@ -119175,7 +119225,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L795", + "source_location": "L916", "weight": 1.0 }, { @@ -119184,7 +119234,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L809", + "source_location": "L930", "weight": 1.0 }, { @@ -119193,7 +119243,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L824", + "source_location": "L945", "weight": 1.0 }, { @@ -119202,7 +119252,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L851", + "source_location": "L972", "weight": 1.0 }, { @@ -119211,7 +119261,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L852", + "source_location": "L973", "weight": 1.0 }, { @@ -119220,7 +119270,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L857", + "source_location": "L978", "weight": 1.0 }, { @@ -119229,7 +119279,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L880", + "source_location": "L1001", "weight": 1.0 }, { @@ -119238,7 +119288,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L918", + "source_location": "L1039", "weight": 1.0 }, { @@ -119247,7 +119297,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L925", + "source_location": "L1046", "weight": 1.0 }, { @@ -119256,7 +119306,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L935", + "source_location": "L1056", "weight": 1.0 }, { @@ -119265,7 +119315,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L945", + "source_location": "L1066", "weight": 1.0 }, { @@ -119274,7 +119324,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L950", + "source_location": "L1071", "weight": 1.0 }, { @@ -119283,7 +119333,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L965", + "source_location": "L1086", "weight": 1.0 }, { @@ -119292,7 +119342,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L965", + "source_location": "L1086", "weight": 1.0 }, { @@ -119301,7 +119351,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L968", + "source_location": "L1089", "weight": 1.0 }, { @@ -119310,7 +119360,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L974", + "source_location": "L1095", "weight": 1.0 }, { @@ -119319,7 +119369,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L979", + "source_location": "L1100", "weight": 1.0 }, { @@ -119328,7 +119378,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L982", + "source_location": "L1103", "weight": 1.0 }, { @@ -119337,7 +119387,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L987", + "source_location": "L1108", "weight": 1.0 }, { @@ -119346,7 +119396,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1000", + "source_location": "L1121", "weight": 1.0 }, { @@ -119355,7 +119405,16 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1055", + "source_location": "L1176", + "weight": 1.0 + }, + { + "source": "services_oa_engine_list_tasks", + "target": "services_oa_engine_enrich_list_rows", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L1177", "weight": 1.0 }, { @@ -119364,7 +119423,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1057", + "source_location": "L1179", "weight": 1.0 }, { @@ -119373,7 +119432,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1060", + "source_location": "L1182", "weight": 1.0 }, { @@ -119382,7 +119441,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1074", + "source_location": "L1209", "weight": 1.0 }, { @@ -119391,7 +119450,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1088", + "source_location": "L1223", "weight": 1.0 }, { @@ -119400,7 +119459,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1100", + "source_location": "L1235", "weight": 1.0 }, { @@ -119409,7 +119468,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1137", + "source_location": "L1272", "weight": 1.0 }, { @@ -119418,7 +119477,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1175", + "source_location": "L1310", "weight": 1.0 }, { @@ -119427,7 +119486,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1175", + "source_location": "L1310", "weight": 1.0 }, { @@ -119436,7 +119495,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1176", + "source_location": "L1311", "weight": 1.0 }, { @@ -119445,7 +119504,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1179", + "source_location": "L1314", "weight": 1.0 }, { @@ -119454,7 +119513,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1200", + "source_location": "L1335", "weight": 1.0 }, { @@ -119463,7 +119522,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1206", + "source_location": "L1341", "weight": 1.0 }, { @@ -119472,7 +119531,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1217", + "source_location": "L1352", "weight": 1.0 }, { @@ -119481,7 +119540,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1245", + "source_location": "L1380", "weight": 1.0 }, { @@ -119490,7 +119549,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1297", + "source_location": "L1432", "weight": 1.0 }, { @@ -119499,7 +119558,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1315", + "source_location": "L1450", "weight": 1.0 }, { @@ -119508,7 +119567,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1321", + "source_location": "L1456", "weight": 1.0 }, { @@ -119517,7 +119576,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1332", + "source_location": "L1467", "weight": 1.0 }, { @@ -119526,7 +119585,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1367", + "source_location": "L1502", "weight": 1.0 }, { @@ -119535,7 +119594,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1378", + "source_location": "L1513", "weight": 1.0 }, { @@ -119544,7 +119603,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1392", + "source_location": "L1527", "weight": 1.0 }, { @@ -119553,7 +119612,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1398", + "source_location": "L1533", "weight": 1.0 }, { @@ -119562,7 +119621,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1400", + "source_location": "L1535", "weight": 1.0 }, { @@ -119571,7 +119630,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1408", + "source_location": "L1543", "weight": 1.0 }, { @@ -119580,7 +119639,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1426", + "source_location": "L1561", "weight": 1.0 }, { @@ -119589,7 +119648,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1434", + "source_location": "L1569", "weight": 1.0 }, { @@ -119629,48 +119688,48 @@ "weight": 1.0 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "services_oa_engine_preview_start_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L613", + "source_location": "L734", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "services_oa_engine_advance_from", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L773", + "source_location": "L894", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1193", + "source_location": "L1328", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "services_oa_engine_return_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1308", + "source_location": "L1443", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "services_oa_engine_resubmit_instance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1390", + "source_location": "L1525", "weight": 1.0 }, { @@ -231814,7 +231873,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -231823,7 +231882,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -231832,7 +231891,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -231841,7 +231900,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -231850,7 +231909,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -231904,7 +231963,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -231913,7 +231972,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -231922,7 +231981,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -231931,7 +231990,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -231940,7 +231999,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -231994,7 +232053,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -232003,7 +232062,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -232012,7 +232071,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -232021,7 +232080,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -232030,7 +232089,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -232084,7 +232143,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -232093,7 +232152,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -232102,7 +232161,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -232111,7 +232170,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -232120,7 +232179,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -232174,7 +232233,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -232183,7 +232242,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -232192,7 +232251,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -232201,7 +232260,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -232210,7 +232269,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -232264,7 +232323,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oarole", "relation": "uses", "confidence": "INFERRED", @@ -232273,7 +232332,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oarole", "relation": "uses", "confidence": "INFERRED", @@ -232282,7 +232341,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oarole", "relation": "uses", "confidence": "INFERRED", @@ -232291,7 +232350,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oarole", "relation": "uses", "confidence": "INFERRED", @@ -232300,7 +232359,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oarole", "relation": "uses", "confidence": "INFERRED", @@ -232354,7 +232413,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -232363,7 +232422,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -232372,7 +232431,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -232381,7 +232440,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -232390,7 +232449,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -232444,7 +232503,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -232453,7 +232512,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -232462,7 +232521,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -232471,7 +232530,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -232480,7 +232539,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -232534,7 +232593,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -232543,7 +232602,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -232552,7 +232611,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -232561,7 +232620,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -232570,7 +232629,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -232624,7 +232683,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_613", + "source": "services_oa_engine_rationale_734", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -232633,7 +232692,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_773", + "source": "services_oa_engine_rationale_894", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -232642,7 +232701,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1193", + "source": "services_oa_engine_rationale_1328", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -232651,7 +232710,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1308", + "source": "services_oa_engine_rationale_1443", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -232660,7 +232719,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_1390", + "source": "services_oa_engine_rationale_1525", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -290865,6 +290924,36 @@ "source_location": "L307", "weight": 1.0 }, + { + "source": "services_oa_engine_instance_progress_summary", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L387", + "weight": 1.0 + }, + { + "source": "services_oa_engine_enrich_list_rows", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L459", + "weight": 1.0 + }, + { + "source": "services_oa_engine_enrich_list_rows", + "target": "crud_base_crudbase_update", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L472", + "weight": 1.0 + }, { "source": "services_oa_engine_user_name_map", "target": "str", @@ -290872,7 +290961,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L357", + "source_location": "L478", "weight": 1.0 }, { @@ -290882,7 +290971,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L373", + "source_location": "L494", "weight": 1.0 }, { @@ -290892,7 +290981,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L397", + "source_location": "L518", "weight": 1.0 }, { @@ -290902,7 +290991,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L401", + "source_location": "L522", "weight": 1.0 }, { @@ -290912,7 +291001,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L429", + "source_location": "L550", "weight": 1.0 }, { @@ -290922,7 +291011,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L456", + "source_location": "L577", "weight": 1.0 }, { @@ -290932,7 +291021,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L474", + "source_location": "L595", "weight": 1.0 }, { @@ -290942,7 +291031,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L496", + "source_location": "L617", "weight": 1.0 }, { @@ -290952,7 +291041,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L569", + "source_location": "L690", "weight": 1.0 }, { @@ -290962,7 +291051,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L574", + "source_location": "L695", "weight": 1.0 }, { @@ -290972,7 +291061,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L614", + "source_location": "L735", "weight": 1.0 }, { @@ -290982,7 +291071,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L618", + "source_location": "L739", "weight": 1.0 }, { @@ -290992,7 +291081,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L636", + "source_location": "L757", "weight": 1.0 }, { @@ -291002,7 +291091,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L674", + "source_location": "L795", "weight": 1.0 }, { @@ -291012,7 +291101,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L677", + "source_location": "L798", "weight": 1.0 }, { @@ -291022,7 +291111,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L687", + "source_location": "L808", "weight": 1.0 }, { @@ -291032,7 +291121,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L695", + "source_location": "L816", "weight": 1.0 }, { @@ -291042,7 +291131,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L696", + "source_location": "L817", "weight": 1.0 }, { @@ -291052,7 +291141,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L728", + "source_location": "L849", "weight": 1.0 }, { @@ -291062,7 +291151,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L757", + "source_location": "L878", "weight": 1.0 }, { @@ -291072,7 +291161,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L757", + "source_location": "L878", "weight": 1.0 }, { @@ -291082,7 +291171,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L849", + "source_location": "L970", "weight": 1.0 }, { @@ -291092,7 +291181,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L853", + "source_location": "L974", "weight": 1.0 }, { @@ -291102,7 +291191,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L860", + "source_location": "L981", "weight": 1.0 }, { @@ -291112,7 +291201,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L873", + "source_location": "L994", "weight": 1.0 }, { @@ -291122,7 +291211,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L874", + "source_location": "L995", "weight": 1.0 }, { @@ -291132,7 +291221,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L901", + "source_location": "L1022", "weight": 1.0 }, { @@ -291142,7 +291231,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L951", + "source_location": "L1072", "weight": 1.0 }, { @@ -291152,29 +291241,29 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L980", - "weight": 1.0 - }, - { - "source": "services_oa_engine_get_instance_detail", - "target": "crud_base_crudbase_update", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "services/oa_engine.py", - "source_location": "L999", - "weight": 1.0 - }, - { - "source": "services_oa_engine_complete_task", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "services/oa_engine.py", "source_location": "L1101", "weight": 1.0 }, + { + "source": "services_oa_engine_get_instance_detail", + "target": "crud_base_crudbase_update", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L1120", + "weight": 1.0 + }, + { + "source": "services_oa_engine_complete_task", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L1236", + "weight": 1.0 + }, { "source": "services_oa_engine_complete_task", "target": "crud_base_crudbase_count", @@ -291182,7 +291271,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L1142", + "source_location": "L1277", "weight": 1.0 }, { @@ -291192,7 +291281,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L1218", + "source_location": "L1353", "weight": 1.0 }, { @@ -291202,7 +291291,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L1263", + "source_location": "L1398", "weight": 1.0 }, { @@ -291212,7 +291301,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L1264", + "source_location": "L1399", "weight": 1.0 }, { @@ -291222,7 +291311,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L1333", + "source_location": "L1468", "weight": 1.0 }, { @@ -291232,7 +291321,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L1409", + "source_location": "L1544", "weight": 1.0 }, { diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index 91de6e6a..3fdec832 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,11 +1,11 @@ # Graph Report - app (2026-07-15) ## Corpus Check -- Large corpus: 225 files · ~277,357 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 225 files · ~277,712 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary -- 4715 nodes · 25954 edges · 39 communities detected -- Extraction: 31% EXTRACTED · 69% INFERRED · 0% AMBIGUOUS · INFERRED: 17782 edges (avg confidence: 0.6) +- 4717 nodes · 25962 edges · 38 communities detected +- Extraction: 31% EXTRACTED · 69% INFERRED · 0% AMBIGUOUS · INFERRED: 17785 edges (avg confidence: 0.6) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) @@ -41,13 +41,12 @@ - [[_COMMUNITY_Community 29|Community 29]] - [[_COMMUNITY_Community 30|Community 30]] - [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] +- [[_COMMUNITY_Community 34|Community 34]] - [[_COMMUNITY_Community 35|Community 35]] - [[_COMMUNITY_Community 36|Community 36]] - [[_COMMUNITY_Community 37|Community 37]] - [[_COMMUNITY_Community 38|Community 38]] - [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] ## God Nodes (most connected - your core abstractions) 1. `success_response()` - 707 edges @@ -66,26 +65,26 @@ core/api_request_log_middleware.py → models/models.py - `get_menu_list()` --calls--> `success_response()` [INFERRED] api/menu.py → core/response.py +- `sync_lab_storage_seq_after_use()` --calls--> `generate_uuid()` [INFERRED] + crud/sample_reception_lab_code.py → core/utils.py - `保留匹配节点及其全部上级,供关键词检索后仍能正确组树。` --uses--> `SysDept` [INFERRED] crud/dept.py → models/models.py - `物品单位 CRUD(biz_item_unit)` --uses--> `BizItemUnit` [INFERRED] crud/item_unit.py → models/models.py -- `快递公司 CRUD(biz_express_company)` --uses--> `BizExpressCompany` [INFERRED] - crud/express_company.py → models/models.py ## Communities ### Community 0 - "Community 0" Cohesion: 0.01 -Nodes (874): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+866 more) +Nodes (895): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+887 more) ### Community 1 - "Community 1" Cohesion: 0.01 -Nodes (629): _ensure_customer_for_mother(), generate_uuid(), create_cell_sample_type(), get_cell_sample_type(), list_cell_sample_types(), 细胞样本类型 CRUD(biz_cell_sample_type), _row_to_dict(), soft_delete_cell_sample_type() (+621 more) +Nodes (651): generate_uuid(), allocate_next_biz_no(), _format_biz_no(), _prefix_for(), 业务协议号自动生成:XBCC / JZCC + YYYYMMDD + 6 位序号, 原子分配下一个业务协议号。 须在 create 事务内调用;使用 MySQL LAST_INSERT_ID 保证并发安全。, create_cell_product(), create_cell_sample_type() (+643 more) ### Community 2 - "Community 2" Cohesion: 0.01 -Nodes (622): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+614 more) +Nodes (617): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+609 more) ### Community 3 - "Community 3" Cohesion: 0.06 @@ -93,55 +92,55 @@ Nodes (536): 细胞存储 — 采集协议单 / 审核 / 财务确认 / 分期 ### Community 4 - "Community 4" Cohesion: 0.01 -Nodes (287): _normalize_date_bound(), _persist_protocol_sub_resources(), _body_to_payload(), _get_current_user_id(), get_production_reception_by_sample_code(), get_production_reception_detail(), _get_tenant_no(), post_production_reception() (+279 more) +Nodes (335): _normalize_date_bound(), _persist_protocol_sub_resources(), list_ethnics_for_select(), apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), format_date() (+327 more) ### Community 5 - "Community 5" Cohesion: 0.02 -Nodes (241): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。, 跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。, 将列显式设为 utf8mb4_unicode_ci。, unicode_ci(), ApiRequestLogCRUD, delete() (+233 more) +Nodes (194): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。, 跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。, 将列显式设为 utf8mb4_unicode_ci。, unicode_ci(), batch_review(), _dec() (+186 more) ### Community 6 - "Community 6" Cohesion: 0.02 -Nodes (105): get_designer_data(), _error_json(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware, ApiCryptoError (+97 more) +Nodes (106): get_designer_data(), _error_json(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware, ApiCryptoError (+98 more) ### Community 7 - "Community 7" Cohesion: 0.03 -Nodes (156): _batch_line_to_dict(), cancel_check(), _check_header_to_dict(), complete_check(), create_check(), _get_check(), get_check_detail(), _line_counts() (+148 more) +Nodes (143): get_next_cell_product_code(), build_void_type_label_map(), format_protocol_status_label(), resolve_void_type_label(), _ancestor_link_from_cell_product_input(), _ancestor_sample_chain_link(), _apply_cell_product_status_change(), _build_ancestor_chain() (+135 more) ### Community 8 - "Community 8" Cohesion: 0.03 -Nodes (145): list_ethnics_for_select(), apply_data_scope(), get_user_dept_id(), _resolve_user_role_scopes(), _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), get_dept() (+137 more) +Nodes (135): auto_create_payment(), get_protocol_nos_used_in_protocols(), _fmt_dt(), get_handover_by_schedule(), get_outbound_handover(), get_outbound_handover_view(), _handover_row_to_dict(), _handover_view_dict() (+127 more) ### Community 9 - "Community 9" -Cohesion: 0.03 -Nodes (146): get_next_cell_product_code(), build_void_type_label_map(), format_protocol_status_label(), resolve_void_type_label(), _ancestor_link_from_cell_product_input(), _ancestor_sample_chain_link(), _apply_cell_product_status_change(), _build_ancestor_chain() (+138 more) +Cohesion: 0.04 +Nodes (111): _batch_line_to_dict(), cancel_check(), _check_header_to_dict(), complete_check(), _get_check(), get_check_detail(), _line_counts(), list_checks() (+103 more) ### Community 10 - "Community 10" Cohesion: 0.05 -Nodes (103): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, list_storage_slot_stats(), OccupancyCreateBody (+95 more) +Nodes (89): _app_to_dict(), create_app(), _create_version(), delete_app(), delete_group(), delete_role(), _dumps(), ensure_presets() (+81 more) ### Community 11 - "Community 11" -Cohesion: 0.05 -Nodes (73): _avatar_url_field(), _build_current_user_payload(), _build_user_info_payload(), get_current_user_profile(), _jwt_user_payload(), logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/zkxw.sql 基线), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致) (+65 more) +Cohesion: 0.04 +Nodes (98): _body_to_payload(), _get_current_user_id(), get_production_reception_by_sample_code(), get_production_reception_detail(), _get_tenant_no(), post_production_reception(), put_production_reception(), _resolve_reception_id() (+90 more) ### Community 12 - "Community 12" Cohesion: 0.05 -Nodes (77): api_save_application(), auto_generate_schedules(), complete_application(), create_application(), create_basic_experiment_sale_schedules(), create_infusion_plan(), create_schedule(), _create_schedule_products() (+69 more) +Nodes (103): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, list_storage_slot_stats(), OccupancyCreateBody (+95 more) ### Community 13 - "Community 13" -Cohesion: 0.07 -Nodes (57): _find_latest_published(), list_oa_role_user_ids(), _active_user_id(), AssigneeResolveError, OA 审批人解析(不读 sys_role), 按节点 approverConfig 解析处理人。 assigneeType: users | oa_roles | dept_leader | dir, resolve_assignees(), resolve_dept_leader() (+49 more) +Cohesion: 0.05 +Nodes (73): _avatar_url_field(), _build_current_user_payload(), _build_user_info_payload(), get_current_user_profile(), _jwt_user_payload(), logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/zkxw.sql 基线), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致) (+65 more) ### Community 14 - "Community 14" Cohesion: 0.45 Nodes (69): BatchStockInBody, BatchStockInItem, BatchStockOutBody, BatchStockOutItem, ConsumableCreateBody, ConsumablePackCreateBody, ConsumablePackUpdateBody, ConsumableUpdateBody (+61 more) ### Community 15 - "Community 15" -Cohesion: 0.07 -Nodes (52): map_payments_by_schedule_ids(), _fmt_dt(), get_handover_by_schedule(), get_outbound_handover(), get_outbound_handover_view(), _handover_row_to_dict(), _handover_view_dict(), _parse_handover_time() (+44 more) +Cohesion: 0.11 +Nodes (39): _amount_for_row(), _batch_map(), deduct_for_task(), _deduct_task_usage_legacy_batch(), _display_remark(), _fmt_date_val(), _linked_qc_task_no_map(), list_linked_task_usages() (+31 more) ### Community 16 - "Community 16" Cohesion: 0.12 -Nodes (11): get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.ht, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total, 申请退款 Args: out_trade_no: 商户订单号 total_amount, 小程序调起支付的二次签名参数(与公众号 JSAPI 规则一致), 统一下单 (V2 API) Args: out_trade_no: 商户订单号 tot, 生成签名 V3 (SHA256 with RSA) (+3 more) +Nodes (10): get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.ht, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total, 小程序调起支付的二次签名参数(与公众号 JSAPI 规则一致), 统一下单 (V2 API) Args: out_trade_no: 商户订单号 tot, 生成签名 V3 (SHA256 with RSA), wechat_pay() (+2 more) ### Community 17 - "Community 17" Cohesion: 0.16 @@ -152,122 +151,118 @@ Cohesion: 0.21 Nodes (19): _consumable_row_to_dict(), create_process(), _create_sub_consumable(), _create_sub_data_collection(), _create_sub_output(), _create_sub_reagent(), _data_collection_row_to_dict(), get_process() (+11 more) ### Community 19 - "Community 19" -Cohesion: 0.23 -Nodes (17): _apply_qc_status_filter(), _base_query(), _derive_qc_conclusion(), _ensure_notification(), _eq_ci(), _fetch_completed_tasks(), _fmt_dt(), generate_sms_content() (+9 more) - -### Community 20 - "Community 20" -Cohesion: 0.27 -Nodes (12): create_equipment(), _dec(), equipment_code_exists(), equipment_is_referenced(), get_equipment(), list_equipments(), _norm_status(), _parse_date() (+4 more) - -### Community 21 - "Community 21" Cohesion: 0.24 Nodes (9): 微信消息通知服务 支持微信小程序模板消息推送 使用方式: from app.core.wechat_message import Wech, 发送模板消息 Args: openid: 用户openid templ, send_delivery_notice(), send_delivery_warning(), send_order_status(), send_payment_success(), send_refund_result(), send_urge_notification() (+1 more) -### Community 22 - "Community 22" +### Community 20 - "Community 20" Cohesion: 0.24 Nodes (11): deduct_for_step(), _display_remark(), list_stock_logs(), _parse_receiver_purpose_from_remark(), 试剂变动记录 CRUD(biz_reagent_stock_log), 撤销步骤此前 step_save 扣减,便于重新填报。, 扣减试剂库存并生成变动记录。调用方控制事务,本函数不 commit。, _resolve_receiver_purpose() (+3 more) -### Community 23 - "Community 23" +### Community 21 - "Community 21" Cohesion: 0.24 Nodes (11): deduct_for_step(), _display_remark(), list_stock_logs(), _parse_receiver_purpose_from_remark(), 耗材变动记录 CRUD(biz_consumable_stock_log), 撤销步骤此前 step_save 扣减,便于重新填报。, 扣减耗材库存并生成变动记录。调用方控制事务,本函数不 commit。, _resolve_receiver_purpose() (+3 more) -### Community 24 - "Community 24" -Cohesion: 0.47 -Nodes (8): count_fillable_fields(), _extract_rules(), _node_type(), validate_control_types(), validate_draft_for_publish(), validate_flow_tree(), validate_oa_roles_referenced(), _walk_form_rules() +### Community 22 - "Community 22" +Cohesion: 0.31 +Nodes (10): _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), get_dept(), list_depts(), list_depts_tree(), 保留匹配节点及其全部上级,供关键词检索后仍能正确组树。, _row_to_dict() (+2 more) -### Community 25 - "Community 25" +### Community 23 - "Community 23" +Cohesion: 0.33 +Nodes (8): _build_tree(), _cascade_soft_delete(), get_menu(), list_menus(), list_menus_tree(), _row_to_dict(), soft_delete_menu(), update_menu() + +### Community 24 - "Community 24" Cohesion: 0.29 Nodes (2): BaseModel, SoftDeleteModel -### Community 26 - "Community 26" +### Community 25 - "Community 25" Cohesion: 0.38 Nodes (6): derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。, ThreeStatus, _to_decimal() -### Community 27 - "Community 27" +### Community 26 - "Community 26" Cohesion: 0.5 Nodes (3): BaseSettings, Config, Settings -### Community 28 - "Community 28" +### Community 27 - "Community 27" Cohesion: 0.5 Nodes (2): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID -### Community 29 - "Community 29" +### Community 28 - "Community 28" Cohesion: 0.67 Nodes (2): get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组) -### Community 30 - "Community 30" +### Community 29 - "Community 29" Cohesion: 1.0 Nodes (1): 质检物料金额查看授权:专用角色与菜单权限常量。 -### Community 31 - "Community 31" +### Community 30 - "Community 30" Cohesion: 1.0 Nodes (1): 请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传 -### Community 32 - "Community 32" +### Community 31 - "Community 31" Cohesion: 1.0 Nodes (1): API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位) -### Community 35 - "Community 35" +### Community 34 - "Community 34" Cohesion: 1.0 Nodes (1): 发送订单状态通知 Args: openid: 用户openid ord -### Community 36 - "Community 36" +### Community 35 - "Community 35" Cohesion: 1.0 Nodes (1): 发送支付成功通知 Args: openid: 用户openid ord -### Community 37 - "Community 37" +### Community 36 - "Community 36" Cohesion: 1.0 Nodes (1): 发送配送通知 Args: openid: 配送员openid task -### Community 38 - "Community 38" +### Community 37 - "Community 37" Cohesion: 1.0 Nodes (1): 发送配送时效预警 Args: openid: 配送员openid ta -### Community 39 - "Community 39" +### Community 38 - "Community 38" Cohesion: 1.0 Nodes (1): 发送退款结果通知 Args: openid: 用户openid ord -### Community 40 - "Community 40" +### Community 39 - "Community 39" Cohesion: 1.0 Nodes (1): 发送催单通知给配送员 Args: deliver_openid: 配送员openid ## Knowledge Gaps - **134 isolated node(s):** `刷新会话 TTL(refreshToken 续期;已登录用户每次 API 校验通过后滑动续期)`, `写入 refreshToken(用于 one-time 使用/吊销)`, `根据 token 获取当前用户(包含 Redis 会话校验;会话滑动续期)`, `登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。`, `加载 RSA 密钥对:优先环境变量,否则使用内置固定默认密钥。` (+129 more) These have ≤1 connection - possible missing edges or undocumented components. -- **Thin community `Community 25`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` +- **Thin community `Community 24`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 28`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` +- **Thin community `Community 27`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 29`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` +- **Thin community `Community 28`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 30`** (2 nodes): `qc_material_amount_auth_constants.py`, `质检物料金额查看授权:专用角色与菜单权限常量。` +- **Thin community `Community 29`** (2 nodes): `qc_material_amount_auth_constants.py`, `质检物料金额查看授权:专用角色与菜单权限常量。` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 31`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` +- **Thin community `Community 30`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 32`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` +- **Thin community `Community 31`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 35`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` +- **Thin community `Community 34`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 36`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` +- **Thin community `Community 35`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 37`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` +- **Thin community `Community 36`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 38`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` +- **Thin community `Community 37`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 39`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` +- **Thin community `Community 38`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 40`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` +- **Thin community `Community 39`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` Too small to be a meaningful cluster - may be noise or needs more connections extracted. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `SysUser` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 13`, `Community 14`, `Community 15`, `Community 17`, `Community 22`, `Community 23`?** - _High betweenness centrality (0.126) - this node is a cross-community bridge._ -- **Why does `success_response()` connect `Community 0` to `Community 2`, `Community 4`, `Community 6`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 29`?** +- **Why does `SysUser` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 4`, `Community 6`, `Community 8`, `Community 9`, `Community 10`, `Community 12`, `Community 13`, `Community 14`, `Community 15`, `Community 17`, `Community 20`, `Community 21`?** + _High betweenness centrality (0.127) - this node is a cross-community bridge._ +- **Why does `success_response()` connect `Community 0` to `Community 2`, `Community 4`, `Community 6`, `Community 7`, `Community 11`, `Community 12`, `Community 13`, `Community 28`?** _High betweenness centrality (0.051) - this node is a cross-community bridge._ -- **Why does `generate_uuid()` connect `Community 1` to `Community 0`, `Community 2`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 13`, `Community 15`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 22`, `Community 23`?** - _High betweenness centrality (0.029) - this node is a cross-community bridge._ +- **Why does `generate_uuid()` connect `Community 1` to `Community 0`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 15`, `Community 17`, `Community 18`, `Community 20`, `Community 21`?** + _High betweenness centrality (0.027) - this node is a cross-community bridge._ - **Are the 776 inferred relationships involving `str` (e.g. with `unhandled_exception_handler()` and `get_current_user_by_token()`) actually correct?** _`str` has 776 INFERRED edges - model-reasoned connections that need verification._ - **Are the 706 inferred relationships involving `success_response()` (e.g. with `list_storage_release_reviews()` and `get_storage_release_review_detail()`) actually correct?** diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index 0eab1ee2..8218532e 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -57,12 +57,12 @@
-