diff --git a/backend/app.pid b/backend/app.pid deleted file mode 100644 index 25e9d89f..00000000 --- a/backend/app.pid +++ /dev/null @@ -1 +0,0 @@ -59139 diff --git a/backend/app/crud/qc_inspection_batch.py b/backend/app/crud/qc_inspection_batch.py index eff8a976..1cfd82d9 100644 --- a/backend/app/crud/qc_inspection_batch.py +++ b/backend/app/crud/qc_inspection_batch.py @@ -716,7 +716,7 @@ def configure_work_order_batches( create_dept_id: str = "", ) -> BizQcWorkOrder: status = (wo.work_order_status or "").strip() - if status not in ("dpz", "ypz"): + if status not in ("dpz", "ypz", "ywc"): raise ValueError("当前工单状态不可配置检测") if not batches: raise ValueError("请至少添加一个检测批次") @@ -867,6 +867,10 @@ def configure_work_order_batches( sync_schedule_from_qc_work_order(db, wo, user_id=user_id) db.commit() + + from app.crud.qc_work_order import try_complete_work_order + + try_complete_work_order(db, wo.id, tenant_no) db.refresh(wo) return wo diff --git a/backend/app/crud/qc_task.py b/backend/app/crud/qc_task.py index 1846f0b0..f991b819 100644 --- a/backend/app/crud/qc_task.py +++ b/backend/app/crud/qc_task.py @@ -885,9 +885,8 @@ def delete_qc_task(db: Session, task_id: str, tenant_no: str, user_id: Optional[ ).first() if not task: raise ValueError("任务不存在") - if task.task_status != "dzx": - raise ValueError("仅待执行的任务可以删除") + work_order_id = task.work_order_id now = datetime.now() # 软删除任务结果 @@ -906,4 +905,27 @@ def delete_qc_task(db: Session, task_id: str, tenant_no: str, user_id: Optional[ task.update_by = user_id task.update_time = now + db.flush() + + from app.crud.qc_work_order import get_work_order, try_complete_work_order + + wo = get_work_order(db, work_order_id, tenant_no=tenant_no) + if wo and (wo.work_order_status or "").strip() == "ywc": + pending = ( + db.query(BizQcTask) + .filter( + BizQcTask.work_order_id == work_order_id, + BizQcTask.tenant_no == tenant_no, + BizQcTask.del_flag == 0, + BizQcTask.task_status != "ywc", + ) + .count() + ) + if pending: + wo.work_order_status = "ypz" + wo.update_by = user_id + wo.update_time = now + db.add(wo) + db.commit() + try_complete_work_order(db, work_order_id, tenant_no) diff --git a/backend/app/graphify-out/cache/ast/5d1108f6854d2be73a13c821c53401b1ddfd9e21b91a62f82928bb287e4a9b03.json b/backend/app/graphify-out/cache/ast/5d1108f6854d2be73a13c821c53401b1ddfd9e21b91a62f82928bb287e4a9b03.json new file mode 100644 index 00000000..3b4de2ef --- /dev/null +++ b/backend/app/graphify-out/cache/ast/5d1108f6854d2be73a13c821c53401b1ddfd9e21b91a62f82928bb287e4a9b03.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "label": "qc_inspection_batch.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L1"}, {"id": "crud_qc_inspection_batch_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L27"}, {"id": "crud_qc_inspection_batch_unique_ids", "label": "_unique_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L33"}, {"id": "crud_qc_inspection_batch_validate_batch_payload", "label": "_validate_batch_payload()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L45"}, {"id": "crud_qc_inspection_batch_order_source_for_wo", "label": "_order_source_for_wo()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L69"}, {"id": "crud_qc_inspection_batch_next_batch_no", "label": "_next_batch_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L78"}, {"id": "crud_qc_inspection_batch_allocate_batch_name", "label": "_allocate_batch_name()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L97"}, {"id": "crud_qc_inspection_batch_sync_batch_assignees", "label": "sync_batch_assignees()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L119"}, {"id": "crud_qc_inspection_batch_batch_assignee_user_ids", "label": "_batch_assignee_user_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L168"}, {"id": "crud_qc_inspection_batch_assignee_names", "label": "_assignee_names()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L182"}, {"id": "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", "label": "_apply_assignees_to_batch_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L194"}, {"id": "crud_qc_inspection_batch_batch_has_blocking_tasks", "label": "_batch_has_blocking_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L223"}, {"id": "crud_qc_inspection_batch_soft_delete_batch", "label": "_soft_delete_batch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L237"}, {"id": "crud_qc_inspection_batch_sync_batch_lab_items", "label": "_sync_batch_lab_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L285"}, {"id": "crud_qc_inspection_batch_sync_batch_third_items", "label": "_sync_batch_third_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L413"}, {"id": "crud_qc_inspection_batch_batch_item_ids", "label": "_batch_item_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L557"}, {"id": "crud_qc_inspection_batch_batch_to_dict", "label": "_batch_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L578"}, {"id": "crud_qc_inspection_batch_build_inspection_batch_list", "label": "_build_inspection_batch_list()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L607"}, {"id": "crud_qc_inspection_batch_list_inspection_batches", "label": "list_inspection_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L651"}, {"id": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "label": "list_inspection_batches_by_work_order_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L668"}, {"id": "crud_qc_inspection_batch_configure_work_order_batches", "label": "configure_work_order_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L709"}, {"id": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "label": "normalize_legacy_configure_to_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L878"}, {"id": "crud_qc_inspection_batch_rationale_675", "label": "\u6279\u91cf\u8fd4\u56de\u591a\u4e2a\u5de5\u5355\u7684\u68c0\u6d4b\u6279\u6b21\uff08\u542b\u4efb\u52a1\uff09\uff0c\u4f9b\u5217\u8868\u9875\u4e00\u6b21\u52a0\u8f7d\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L675"}, {"id": "crud_qc_inspection_batch_rationale_879", "label": "\u5c06\u6241\u5e73 labItemIds \u914d\u7f6e\u8f6c\u4e3a\u5355\u6279\u6b21\u7ed3\u6784\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L879"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_crud_qc_third_party_company", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_unique_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_validate_batch_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_order_source_for_wo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_next_batch_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L78", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_allocate_batch_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L97", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_sync_batch_assignees", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L119", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_batch_assignee_user_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_assignee_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L182", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L194", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_batch_has_blocking_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L223", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_soft_delete_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L237", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_sync_batch_lab_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L285", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_sync_batch_third_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L413", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_batch_item_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L557", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_batch_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L578", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_build_inspection_batch_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L607", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_list_inspection_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L651", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L668", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_configure_work_order_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L709", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_inspection_batch_py", "target": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L878", "weight": 1.0}, {"source": "crud_qc_inspection_batch_validate_batch_payload", "target": "crud_qc_inspection_batch_unique_ids", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L48", "weight": 1.0}, {"source": "crud_qc_inspection_batch_soft_delete_batch", "target": "crud_qc_inspection_batch_batch_has_blocking_tasks", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L246", "weight": 1.0}, {"source": "crud_qc_inspection_batch_batch_to_dict", "target": "crud_qc_inspection_batch_batch_assignee_user_ids", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L585", "weight": 1.0}, {"source": "crud_qc_inspection_batch_batch_to_dict", "target": "crud_qc_inspection_batch_batch_item_ids", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L586", "weight": 1.0}, {"source": "crud_qc_inspection_batch_batch_to_dict", "target": "crud_qc_inspection_batch_assignee_names", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L596", "weight": 1.0}, {"source": "crud_qc_inspection_batch_build_inspection_batch_list", "target": "crud_qc_inspection_batch_batch_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L624", "weight": 1.0}, {"source": "crud_qc_inspection_batch_list_inspection_batches", "target": "crud_qc_inspection_batch_build_inspection_batch_list", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L665", "weight": 1.0}, {"source": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "target": "crud_qc_inspection_batch_unique_ids", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L676", "weight": 1.0}, {"source": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "target": "crud_qc_inspection_batch_build_inspection_batch_list", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L699", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_order_source_for_wo", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L724", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_validate_batch_payload", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L729", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_soft_delete_batch", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L745", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_unique_ids", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L754", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_next_batch_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L775", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_allocate_batch_name", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L776", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_sync_batch_assignees", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L789", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_sync_batch_lab_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L800", "weight": 1.0}, {"source": "crud_qc_inspection_batch_configure_work_order_batches", "target": "crud_qc_inspection_batch_sync_batch_third_items", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L828", "weight": 1.0}, {"source": "crud_qc_inspection_batch_rationale_675", "target": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L675", "weight": 1.0}, {"source": "crud_qc_inspection_batch_rationale_879", "target": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L879", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_qc_inspection_batch_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L30"}, {"caller_nid": "crud_qc_inspection_batch_unique_ids", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L34"}, {"caller_nid": "crud_qc_inspection_batch_unique_ids", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L37"}, {"caller_nid": "crud_qc_inspection_batch_unique_ids", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L40"}, {"caller_nid": "crud_qc_inspection_batch_unique_ids", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L41"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L47"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L47"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L47"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L48"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L48"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L49"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L49"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L50"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L50"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L51"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L51"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L51"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L51"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L52"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L52"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L52"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L52"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L54"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L56"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L58"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L60"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L61"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L61"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L61"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L62"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L63"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L63"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L63"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L64"}, {"caller_nid": "crud_qc_inspection_batch_validate_batch_payload", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L66"}, {"caller_nid": "crud_qc_inspection_batch_order_source_for_wo", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L70"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L81"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L81"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L81"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L91"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "isdigit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L92"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L93"}, {"caller_nid": "crud_qc_inspection_batch_next_batch_no", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L93"}, {"caller_nid": "crud_qc_inspection_batch_allocate_batch_name", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L98"}, {"caller_nid": "crud_qc_inspection_batch_allocate_batch_name", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L100"}, {"caller_nid": "crud_qc_inspection_batch_allocate_batch_name", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L100"}, {"caller_nid": "crud_qc_inspection_batch_allocate_batch_name", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L100"}, {"caller_nid": "crud_qc_inspection_batch_allocate_batch_name", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L108"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "validate_assignee_user_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L128"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L129"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L131"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L131"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L131"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L139"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "enumerate", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L145"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L146"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L149"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "BizQcBatchAssignee", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L150"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L151"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_assignees", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L164"}, {"caller_nid": "crud_qc_inspection_batch_batch_assignee_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L170"}, {"caller_nid": "crud_qc_inspection_batch_batch_assignee_user_ids", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L170"}, {"caller_nid": "crud_qc_inspection_batch_batch_assignee_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L170"}, {"caller_nid": "crud_qc_inspection_batch_batch_assignee_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L170"}, {"caller_nid": "crud_qc_inspection_batch_batch_assignee_user_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L176"}, {"caller_nid": "crud_qc_inspection_batch_assignee_names", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L186"}, {"caller_nid": "crud_qc_inspection_batch_assignee_names", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L186"}, {"caller_nid": "crud_qc_inspection_batch_assignee_names", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L186"}, {"caller_nid": "crud_qc_inspection_batch_assignee_names", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L187"}, {"caller_nid": "crud_qc_inspection_batch_assignee_names", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L191"}, {"caller_nid": "crud_qc_inspection_batch_assignee_names", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L191"}, {"caller_nid": "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L204"}, {"caller_nid": "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L204"}, {"caller_nid": "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L204"}, {"caller_nid": "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", "callee": "sync_assignees_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L213"}, {"caller_nid": "crud_qc_inspection_batch_batch_has_blocking_tasks", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L225"}, {"caller_nid": "crud_qc_inspection_batch_batch_has_blocking_tasks", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L225"}, {"caller_nid": "crud_qc_inspection_batch_batch_has_blocking_tasks", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L225"}, {"caller_nid": "crud_qc_inspection_batch_batch_has_blocking_tasks", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L230"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L247"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L248"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L250"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L250"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L250"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L258"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L258"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L258"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "_soft_delete_tasks_by_source_line_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L270"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L272"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L272"}, {"caller_nid": "crud_qc_inspection_batch_soft_delete_batch", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L272"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L300"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L302"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L302"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L302"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L310"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L311"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "keys", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L311"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "_get_task_by_source_line_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L315"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L317"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L321"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "_soft_delete_tasks_by_source_line_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L323"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L333"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "_get_task_by_source_line_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L334"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L340"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "create_task_for_line", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L342"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "sync_assignees_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L356"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "get_lab_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L366"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L368"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "BizQcWorkOrderLabItem", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L369"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L370"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L386"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L387"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "create_task_for_line", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L388"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_lab_items", "callee": "sync_assignees_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L402"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L428"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L430"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L430"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L430"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L438"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L439"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "keys", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L439"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "_get_task_by_source_line_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L443"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L445"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L449"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "_soft_delete_tasks_by_source_line_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L451"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L453"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L462"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L463"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "_get_task_by_source_line_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L464"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L470"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "create_task_for_line", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L472"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "sync_assignees_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L489"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "get_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L499"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L501"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "get_company", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L502"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L504"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L505"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "BizQcWorkOrderThirdItem", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L507"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L508"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L527"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L528"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "create_task_for_line", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L529"}, {"caller_nid": "crud_qc_inspection_batch_sync_batch_third_items", "callee": "sync_assignees_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L546"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L560"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L560"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L560"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L560"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L562"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L567"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L567"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L567"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L567"}, {"caller_nid": "crud_qc_inspection_batch_batch_item_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L572"}, {"caller_nid": "crud_qc_inspection_batch_batch_to_dict", "callee": "sum", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L588"}, {"caller_nid": "crud_qc_inspection_batch_batch_to_dict", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L588"}, {"caller_nid": "crud_qc_inspection_batch_batch_to_dict", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L597"}, {"caller_nid": "crud_qc_inspection_batch_batch_to_dict", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L598"}, {"caller_nid": "crud_qc_inspection_batch_batch_to_dict", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L601"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L618"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L620"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L620"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L622"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L624"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L629"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "sum", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L630"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L631"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L634"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L643"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "sum", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L644"}, {"caller_nid": "crud_qc_inspection_batch_build_inspection_batch_list", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L644"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L655"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L655"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L655"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L655"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L661"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches", "callee": "list_tasks_by_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L664"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L681"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L681"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L681"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L681"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L683"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L688"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L689"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "list_tasks_by_work_order_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L693"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L696"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L696"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L702"}, {"caller_nid": "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L703"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L718"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L720"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L722"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L725"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "enumerate", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L728"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L733"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L733"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L733"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L741"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L741"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L741"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L741"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L743"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L747"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "enumerate", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L752"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L753"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L753"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L754"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L754"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L755"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L755"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L756"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L756"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L756"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L756"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L757"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L757"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L757"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L757"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L758"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L758"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "validate_assignee_user_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L759"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L760"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L760"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L760"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L769"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "BizQcWorkOrderInspectionBatch", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L771"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L772"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L786"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L787"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L864"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "sync_schedule_from_qc_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L868"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L869"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "try_complete_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L873"}, {"caller_nid": "crud_qc_inspection_batch_configure_work_order_batches", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L874"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L880"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L883"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L883"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L883"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L884"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L884"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L884"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L885"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L885"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L886"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L886"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L887"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L887"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L888"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L888"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L889"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L891"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L893"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L895"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L897"}, {"caller_nid": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_inspection_batch.py", "source_location": "L900"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/6c1199cfec03ca40610f628353e8c71e4287997a68cd0a9db1e46008ca71d5a7.json b/backend/app/graphify-out/cache/ast/6c1199cfec03ca40610f628353e8c71e4287997a68cd0a9db1e46008ca71d5a7.json new file mode 100644 index 00000000..436fe4a2 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/6c1199cfec03ca40610f628353e8c71e4287997a68cd0a9db1e46008ca71d5a7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "label": "qc_task.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1"}, {"id": "crud_qc_task_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L38"}, {"id": "crud_qc_task_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L44"}, {"id": "crud_qc_task_gen_task_no", "label": "_gen_task_no()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L48"}, {"id": "crud_qc_task_conclusion_label", "label": "_conclusion_label()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L61"}, {"id": "crud_qc_task_task_to_dict", "label": "_task_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L66"}, {"id": "crud_qc_task_task_work_order_context", "label": "_task_work_order_context()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L100"}, {"id": "crud_qc_task_merge_work_order_summary_into_task", "label": "_merge_work_order_summary_into_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L176"}, {"id": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "label": "_enrich_mine_tasks_with_work_order_summaries()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L200"}, {"id": "crud_qc_task_enrich_tasks_reception_fields", "label": "_enrich_tasks_reception_fields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L220"}, {"id": "crud_qc_task_task_row_to_dict", "label": "_task_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L367"}, {"id": "crud_qc_task_create_task_for_line", "label": "create_task_for_line()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L378"}, {"id": "crud_qc_task_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L425"}, {"id": "crud_qc_task_list_mine_tasks", "label": "list_mine_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L506"}, {"id": "crud_qc_task_assert_task_assignee", "label": "assert_task_assignee()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L598"}, {"id": "crud_qc_task_list_tasks_by_work_order", "label": "list_tasks_by_work_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L605"}, {"id": "crud_qc_task_list_tasks_by_work_order_ids", "label": "list_tasks_by_work_order_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L612"}, {"id": "crud_qc_task_get_task", "label": "get_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L642"}, {"id": "crud_qc_task_get_task_detail", "label": "get_task_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L651"}, {"id": "crud_qc_task_start_task", "label": "start_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L684"}, {"id": "crud_qc_task_set_task_remark", "label": "_set_task_remark()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L701"}, {"id": "crud_qc_task_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L705"}, {"id": "crud_qc_task_apply_task_result", "label": "apply_task_result()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L746"}, {"id": "crud_qc_task_update_task_attachments", "label": "update_task_attachments()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L798"}, {"id": "crud_qc_task_create_qc_task_manual", "label": "create_qc_task_manual()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L828"}, {"id": "crud_qc_task_delete_qc_task", "label": "delete_qc_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L877"}, {"id": "crud_qc_task_rationale_177", "label": "\u5c06\u5217\u8868\u7ea7\u5de5\u5355\u6458\u8981\u5408\u5e76\u8fdb\u4efb\u52a1\u884c\uff0c\u4f9b\u300c\u6211\u7684\u8d28\u68c0\u4efb\u52a1\u300d\u524d\u7aef\u805a\u5408\u5c55\u793a\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L177"}, {"id": "crud_qc_task_rationale_757", "label": "\u4fdd\u5b58\u68c0\u6d4b\u7ed3\u679c\u4e0e\u7ed3\u8bba\uff1b\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u987a\u5e26\u6807\u8bb0\u4e3a\u5df2\u5b8c\u6210\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L757"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_crud_collection_protocol", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_crud_qc_work_order", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_core_db_collation", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_utils_sample_special", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "app_models_research_donation", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_gen_task_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_conclusion_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L61", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_task_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L66", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_task_work_order_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_merge_work_order_summary_into_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L176", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L200", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_enrich_tasks_reception_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L220", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_task_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L367", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_create_task_for_line", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_list_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L425", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_list_mine_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L506", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_assert_task_assignee", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L598", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_list_tasks_by_work_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L605", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_list_tasks_by_work_order_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L612", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_get_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L642", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_get_task_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L651", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_start_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_set_task_remark", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L701", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_complete_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L705", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_apply_task_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L746", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_update_task_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L798", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_create_qc_task_manual", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L828", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_delete_qc_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L877", "weight": 1.0}, {"source": "crud_qc_task_task_to_dict", "target": "crud_qc_task_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L86", "weight": 1.0}, {"source": "crud_qc_task_task_to_dict", "target": "crud_qc_task_conclusion_label", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L89", "weight": 1.0}, {"source": "crud_qc_task_task_to_dict", "target": "crud_qc_task_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L92", "weight": 1.0}, {"source": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "target": "crud_qc_task_merge_work_order_summary_into_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L216", "weight": 1.0}, {"source": "crud_qc_task_enrich_tasks_reception_fields", "target": "crud_qc_task_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L324", "weight": 1.0}, {"source": "crud_qc_task_task_row_to_dict", "target": "crud_qc_task_task_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L373", "weight": 1.0}, {"source": "crud_qc_task_task_row_to_dict", "target": "crud_qc_task_task_work_order_context", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L374", "weight": 1.0}, {"source": "crud_qc_task_create_task_for_line", "target": "crud_qc_task_gen_task_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L401", "weight": 1.0}, {"source": "crud_qc_task_list_tasks", "target": "crud_qc_task_task_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L501", "weight": 1.0}, {"source": "crud_qc_task_list_tasks", "target": "crud_qc_task_enrich_tasks_reception_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L502", "weight": 1.0}, {"source": "crud_qc_task_list_mine_tasks", "target": "crud_qc_task_task_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L592", "weight": 1.0}, {"source": "crud_qc_task_list_mine_tasks", "target": "crud_qc_task_enrich_tasks_reception_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L593", "weight": 1.0}, {"source": "crud_qc_task_list_mine_tasks", "target": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L594", "weight": 1.0}, {"source": "crud_qc_task_list_tasks_by_work_order", "target": "crud_qc_task_list_tasks_by_work_order_ids", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L609", "weight": 1.0}, {"source": "crud_qc_task_list_tasks_by_work_order_ids", "target": "crud_qc_task_task_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L631", "weight": 1.0}, {"source": "crud_qc_task_list_tasks_by_work_order_ids", "target": "crud_qc_task_enrich_tasks_reception_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L632", "weight": 1.0}, {"source": "crud_qc_task_get_task_detail", "target": "crud_qc_task_task_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L666", "weight": 1.0}, {"source": "crud_qc_task_get_task_detail", "target": "crud_qc_task_enrich_tasks_reception_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L667", "weight": 1.0}, {"source": "crud_qc_task_start_task", "target": "crud_qc_task_get_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L685", "weight": 1.0}, {"source": "crud_qc_task_complete_task", "target": "crud_qc_task_get_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L715", "weight": 1.0}, {"source": "crud_qc_task_complete_task", "target": "crud_qc_task_set_task_remark", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L729", "weight": 1.0}, {"source": "crud_qc_task_apply_task_result", "target": "crud_qc_task_get_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L760", "weight": 1.0}, {"source": "crud_qc_task_apply_task_result", "target": "crud_qc_task_set_task_remark", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L777", "weight": 1.0}, {"source": "crud_qc_task_apply_task_result", "target": "crud_qc_task_complete_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L787", "weight": 1.0}, {"source": "crud_qc_task_update_task_attachments", "target": "crud_qc_task_get_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L807", "weight": 1.0}, {"source": "crud_qc_task_rationale_177", "target": "crud_qc_task_merge_work_order_summary_into_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L177", "weight": 1.0}, {"source": "crud_qc_task_rationale_757", "target": "crud_qc_task_apply_task_result", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L757", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_qc_task_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L41"}, {"caller_nid": "crud_qc_task_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L45"}, {"caller_nid": "crud_qc_task_conclusion_label", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L62"}, {"caller_nid": "crud_qc_task_conclusion_label", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L63"}, {"caller_nid": "crud_qc_task_task_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L76"}, {"caller_nid": "crud_qc_task_task_to_dict", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L77"}, {"caller_nid": "crud_qc_task_task_to_dict", "callee": "urls_to_attachment_list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L91"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "_work_order_qc_biz_type", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L101"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L102"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L109"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L110"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L112"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L113"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "_reception_source_label", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L114"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "_qc_biz_type_label", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L121"}, {"caller_nid": "crud_qc_task_task_work_order_context", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L124"}, {"caller_nid": "crud_qc_task_merge_work_order_summary_into_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L181"}, {"caller_nid": "crud_qc_task_merge_work_order_summary_into_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L184"}, {"caller_nid": "crud_qc_task_merge_work_order_summary_into_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L196"}, {"caller_nid": "crud_qc_task_merge_work_order_summary_into_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L196"}, {"caller_nid": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "callee": "build_work_order_list_summaries", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L208"}, {"caller_nid": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L214"}, {"caller_nid": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L214"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L225"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L225"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L230"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L230"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L230"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L231"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "values", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L236"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "values", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L241"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L248"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L248"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L248"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L249"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L256"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L256"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L256"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L258"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L263"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L266"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "values", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L266"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L266"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "values", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L266"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "_load_sample_type_name_map", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L270"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "values", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L273"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "values", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L278"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L286"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L286"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L286"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L292"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L297"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L298"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L303"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L303"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L303"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L309"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L314"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L315"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L317"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L318"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L319"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L321"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L321"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "_sample_type_name_for_reception", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L326"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L333"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L336"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L337"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "format_protocol_status_label", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L342"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L347"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L348"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "format_protocol_status_label", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L353"}, {"caller_nid": "crud_qc_task_enrich_tasks_reception_fields", "callee": "apply_special_to_item_from_samples", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L356"}, {"caller_nid": "crud_qc_task_task_row_to_dict", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L374"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "BizQcTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L396"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L397"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L404"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L415"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L417"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L420"}, {"caller_nid": "crud_qc_task_create_task_for_line", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L421"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L487"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L487"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L487"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L487"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L487"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L488"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L489"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L489"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L491"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L491"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L491"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L491"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L491"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L493"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L494"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L495"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "enrich_tasks_with_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L503"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L503"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L578"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L578"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L578"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L578"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L578"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L579"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L580"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L580"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L582"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L582"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L582"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L582"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L582"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L584"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L585"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L586"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "enrich_tasks_with_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L595"}, {"caller_nid": "crud_qc_task_list_mine_tasks", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L595"}, {"caller_nid": "crud_qc_task_assert_task_assignee", "callee": "is_user_assignee", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L601"}, {"caller_nid": "crud_qc_task_assert_task_assignee", "callee": "PermissionError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L602"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L606"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L609"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L615"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L615"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L615"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L620"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L620"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L620"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L620"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L620"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L623"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L628"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L628"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "enrich_tasks_with_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L633"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L636"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L636"}, {"caller_nid": "crud_qc_task_list_tasks_by_work_order_ids", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L638"}, {"caller_nid": "crud_qc_task_get_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L645"}, {"caller_nid": "crud_qc_task_get_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L645"}, {"caller_nid": "crud_qc_task_get_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L647"}, {"caller_nid": "crud_qc_task_get_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L648"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L653"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L653"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L653"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L653"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L664"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "enrich_tasks_with_assignees", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L668"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "_enrich_work_order_qc_targets", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L671"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L672"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "_resolve_reception_id_for_work_order_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L673"}, {"caller_nid": "crud_qc_task_get_task_detail", "callee": "get_reception_by_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L675"}, {"caller_nid": "crud_qc_task_start_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L687"}, {"caller_nid": "crud_qc_task_start_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L689"}, {"caller_nid": "crud_qc_task_start_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L691"}, {"caller_nid": "crud_qc_task_start_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L694"}, {"caller_nid": "crud_qc_task_start_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L695"}, {"caller_nid": "crud_qc_task_start_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L696"}, {"caller_nid": "crud_qc_task_start_task", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L697"}, {"caller_nid": "crud_qc_task_set_task_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L702"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L717"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L718"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L720"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L723"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L725"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L730"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L733"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L734"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L736"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L737"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "try_complete_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L740"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L742"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L762"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L763"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L765"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "deduct_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L767"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L775"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L779"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L780"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L782"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L783"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L785"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L809"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L810"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L818"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L819"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L821"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L822"}, {"caller_nid": "crud_qc_task_update_task_attachments", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L824"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L846"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L846"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L848"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L848"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L848"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L850"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "BizQcTask", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L854"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L855"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L872"}, {"caller_nid": "crud_qc_task_create_qc_task_manual", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L873"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L879"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L879"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L879"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L880"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L887"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L890"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L895"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L895"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L895"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L896"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L908"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "get_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L912"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L913"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L915"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L915"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L915"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L928"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L930"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "try_complete_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L931"}]} \ No newline at end of file diff --git a/backend/graphify-out/.graphify_analysis.json b/backend/graphify-out/.graphify_analysis.json index 979d1090..145915dc 100644 --- a/backend/graphify-out/.graphify_analysis.json +++ b/backend/graphify-out/.graphify_analysis.json @@ -813,7 +813,6 @@ "crud_base_crudbase_get", "crud_cleanroom_garment_get_garment_detail", "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", @@ -901,7 +900,6 @@ "crud_sample_production_reception_update_production_reception", "crud_sample_production_reception_validate_handler_user_id", "crud_sample_production_reception_validate_payload", - "crud_workflow_get_all_tasks_for_business", "schemas_order_adjust_adjuststatus", "schemas_order_adjust_adjusttype", "schemas_order_adjust_py", @@ -1571,6 +1569,21 @@ "crud_clean_room_update_clean_room", "crud_clean_room_update_uv_disinfect_log", "crud_clean_room_uv_disinfect_log_to_dict", + "crud_collection_region_create_collection_region", + "crud_collection_region_create_hospital", + "crud_collection_region_get_collection_region", + "crud_collection_region_get_hospital", + "crud_collection_region_hospital_names_by_region_ids", + "crud_collection_region_hospital_to_dict", + "crud_collection_region_list_collection_regions", + "crud_collection_region_list_hospitals", + "crud_collection_region_py", + "crud_collection_region_search_hospitals_by_keyword", + "crud_collection_region_soft_delete_collection_region", + "crud_collection_region_soft_delete_hospital", + "crud_collection_region_total_pages", + "crud_collection_region_update_collection_region", + "crud_collection_region_update_hospital", "crud_consumable_batch_stock_in", "crud_consumable_batch_stock_out", "crud_consumable_build_manual_out_remark", @@ -1648,16 +1661,6 @@ "crud_material_usage_unit_price_for_row", "crud_material_usage_usage_unit_label", "crud_material_usage_user_nick_name_map", - "crud_output_type_create_output_type", - "crud_output_type_get_output_type", - "crud_output_type_list_output_types", - "crud_output_type_py", - "crud_output_type_rationale_1", - "crud_output_type_row_to_dict", - "crud_output_type_soft_delete_output_type", - "crud_output_type_total_pages", - "crud_output_type_type_code_exists", - "crud_output_type_update_output_type", "crud_pilot_service_activate_channel_agreement", "crud_pilot_service_apply_gmcp_order_quotas", "crud_pilot_service_apply_purchase_txn_holdings", @@ -1987,37 +1990,26 @@ "crud_reagent_stock_out", "crud_reagent_total_pages", "crud_reagent_update_reagent", - "crud_site_create_site", - "crud_site_get_site", - "crud_site_list_sites", - "crud_site_py", - "crud_site_row_to_dict", - "crud_site_site_code_exists", - "crud_site_soft_delete_site", - "crud_site_total_pages", - "crud_site_update_site", - "crud_sop_document_create_sop_document", - "crud_sop_document_get_sop_document", - "crud_sop_document_list_sop_documents", - "crud_sop_document_py", - "crud_sop_document_rationale_1", - "crud_sop_document_row_to_dict", - "crud_sop_document_soft_delete_sop_document", - "crud_sop_document_sop_code_exists", - "crud_sop_document_total_pages", - "crud_sop_document_update_sop_document", - "crud_tenant_create_tenant", - "crud_tenant_get_tenant", - "crud_tenant_list_tenants", - "crud_tenant_py", - "crud_tenant_row_to_dict", - "crud_tenant_soft_delete_tenant", - "crud_tenant_tenant_no_exists", - "crud_tenant_total_pages", - "crud_tenant_update_tenant", + "crud_sample_code_batch_generate_sample_codes", + "crud_sample_code_batch_issue_sample_codes", + "crud_sample_code_batch_revoke_sample_codes", + "crud_sample_code_create_sample_code", + "crud_sample_code_get_sample_code", + "crud_sample_code_list_sample_codes", + "crud_sample_code_parse_issued_time", + "crud_sample_code_py", + "crud_sample_code_rationale_1", + "crud_sample_code_rationale_261", + "crud_sample_code_resolve_issued_user_display_name", + "crud_sample_code_row_to_dict", + "crud_sample_code_sample_code_exists", + "crud_sample_code_soft_delete_sample_code", + "crud_sample_code_total_pages", + "crud_sample_code_update_sample_code", "crud_workflow_create_instance", "crud_workflow_create_process_def", "crud_workflow_create_task", + "crud_workflow_get_all_tasks_for_business", "crud_workflow_get_instance", "crud_workflow_get_latest_version", "crud_workflow_get_nodes_by_version", @@ -2516,7 +2508,6 @@ "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", @@ -2557,6 +2548,23 @@ "crud_collection_protocol_load_unit_name_map", "crud_collection_protocol_lookup_attachment_by_url", "crud_collection_protocol_migrate_sample_child_refs_on_replace", + "crud_collection_protocol_no_batch_generate_protocol_nos", + "crud_collection_protocol_no_batch_issue_protocol_nos", + "crud_collection_protocol_no_batch_revoke_protocol_nos", + "crud_collection_protocol_no_create_protocol_no", + "crud_collection_protocol_no_get_protocol_no", + "crud_collection_protocol_no_list_protocol_nos", + "crud_collection_protocol_no_parse_issued_time", + "crud_collection_protocol_no_protocol_no_exists", + "crud_collection_protocol_no_py", + "crud_collection_protocol_no_rationale_1", + "crud_collection_protocol_no_rationale_20", + "crud_collection_protocol_no_rationale_256", + "crud_collection_protocol_no_resolve_issued_user_display_name", + "crud_collection_protocol_no_row_to_dict", + "crud_collection_protocol_no_soft_delete_protocol_no", + "crud_collection_protocol_no_total_pages", + "crud_collection_protocol_no_update_protocol_no", "crud_collection_protocol_normalize_attachment_url_key", "crud_collection_protocol_normalize_date_bound", "crud_collection_protocol_normalize_fields", @@ -2597,7 +2605,6 @@ "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", @@ -2641,14 +2648,7 @@ "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_protocol_sample_collection_apply_sample_status_filter", "crud_protocol_sample_collection_base_query", "crud_protocol_sample_collection_fmt_dt", @@ -2724,89 +2724,7 @@ "crud_research_donation_transport_to_dict", "crud_research_donation_update_donation", "crud_research_donation_user_nick_name_map", - "crud_sample_production_reception_get_map_by_reception_ids", - "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_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_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_172", - "crud_sample_reception_lab_code_reception_time_date_str", - "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_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", "services_protocol_payment_installment_add_days_yyyymmdd", "services_protocol_payment_installment_add_interval_months_yyyymmdd", "services_protocol_payment_installment_add_months_yyyymmdd", @@ -2936,15 +2854,22 @@ "crud_production_work_order_rationale_788", "crud_production_work_order_rationale_839", "crud_production_work_order_rationale_865", + "crud_protocol_donation_convert_active_link_query", + "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_rationale_1", "crud_protocol_donation_convert_rationale_132", "crud_protocol_donation_convert_rationale_198", "crud_protocol_donation_convert_rationale_273", "crud_protocol_donation_convert_rationale_35", "crud_protocol_donation_convert_rationale_84", + "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", "crud_protocol_sample_collection_rationale_1", "crud_qc_inspection_batch_rationale_675", - "crud_qc_inspection_batch_rationale_875", + "crud_qc_inspection_batch_rationale_879", "crud_qc_inspection_batch_sync_batch_lab_items", "crud_qc_inspection_batch_sync_batch_third_items", "crud_qc_sms_notification_rationale_32", @@ -3345,24 +3270,6 @@ "services_qc_work_order_fee_summary_sort_payment_details" ], "7": [ - "crud_material_code_exists", - "crud_material_create_material", - "crud_material_dec", - "crud_material_fmt_dt", - "crud_material_get_material", - "crud_material_get_material_entity", - "crud_material_get_my_usages", - "crud_material_is_enabled_status", - "crud_material_list_materials", - "crud_material_mine_usage_receiver_filter", - "crud_material_my_usage_batch_map", - "crud_material_my_usage_row_to_dict", - "crud_material_my_usage_user_nick_name_map", - "crud_material_norm_status", - "crud_material_options_list", - "crud_material_py", - "crud_material_row_to_dict", - "crud_material_soft_delete_material", "crud_material_stock_batch_batch_discard", "crud_material_stock_batch_batch_options", "crud_material_stock_batch_batch_row_to_dict", @@ -3408,8 +3315,6 @@ "crud_material_stock_check_unused_amount", "crud_material_stock_check_unused_line_to_dict", "crud_material_stock_check_user_nick_name_map", - "crud_material_update_material", - "crud_material_update_material_fields", "crud_outbound_handover_inventory_apply_handover_inventory", "crud_outbound_handover_inventory_deduct_market_material_for_handover", "crud_outbound_handover_inventory_get_cell_product_locked", @@ -3979,6 +3884,102 @@ "tasks_init_shutdown_scheduler" ], "11": [ + "crud_collection_protocol_format_attachment_file_size", + "crud_collection_protocol_urls_to_attachment_list", + "crud_sample_production_reception_get_map_by_reception_ids", + "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_172", + "crud_sample_reception_lab_code_reception_time_date_str", + "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_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_sop_document_create_sop_document", + "crud_sop_document_get_sop_document", + "crud_sop_document_list_sop_documents", + "crud_sop_document_py", + "crud_sop_document_rationale_1", + "crud_sop_document_row_to_dict", + "crud_sop_document_soft_delete_sop_document", + "crud_sop_document_sop_code_exists", + "crud_sop_document_total_pages", + "crud_sop_document_update_sop_document", + "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" + ], + "12": [ "api_production_batchstockinbody", "api_production_batchstockinitem", "api_production_batchstockoutbody", @@ -4062,7 +4063,8 @@ "schemas_production_work_order_py", "schemas_qc_work_order_productionqcworkordercreatebody" ], - "12": [ + "13": [ + "crud_clinical_payment_auto_create_payment", "crud_pilot_application_complete_application", "crud_pilot_application_create_basic_experiment_sale_schedules", "crud_pilot_application_create_infusion_plan", @@ -4130,7 +4132,7 @@ "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", "crud_pilot_outbound_status_sync_touch" ], - "13": [ + "14": [ "crud_storage_facility_aggregate_slot_stats_by_facility", "crud_storage_facility_apply_slot_select_base_filters", "crud_storage_facility_apply_slot_select_query_filters", @@ -4192,7 +4194,7 @@ "services_storage_facility_code_refresh_outbound_release_cell_slot_names", "services_storage_facility_code_validate_node_code" ], - "14": [ + "15": [ "crud_cleanroom_garment_batch_create_sterilize_logs", "crud_cleanroom_garment_batch_create_wash_logs", "crud_cleanroom_garment_batch_discard_garments", @@ -4232,7 +4234,7 @@ "models_cleanroom_garment_rationale_54", "models_cleanroom_garment_rationale_9" ], - "15": [ + "16": [ "core_wechat_pay_get_wechat_pay_client", "core_wechat_pay_get_wechat_pay_v2", "core_wechat_pay_py", @@ -4263,7 +4265,29 @@ "core_wechat_pay_wechatpayv2client_unified_order", "core_wechat_pay_wechatpayv2client_xml_to_dict" ], - "16": [ + "17": [ + "crud_material_code_exists", + "crud_material_create_material", + "crud_material_dec", + "crud_material_fmt_dt", + "crud_material_get_material", + "crud_material_get_material_entity", + "crud_material_get_my_usages", + "crud_material_is_enabled_status", + "crud_material_list_materials", + "crud_material_mine_usage_receiver_filter", + "crud_material_my_usage_batch_map", + "crud_material_my_usage_row_to_dict", + "crud_material_my_usage_user_nick_name_map", + "crud_material_norm_status", + "crud_material_options_list", + "crud_material_py", + "crud_material_row_to_dict", + "crud_material_soft_delete_material", + "crud_material_update_material", + "crud_material_update_material_fields" + ], + "18": [ "crud_qc_third_party_company_company_code_exists", "crud_qc_third_party_company_create_company", "crud_qc_third_party_company_get_company", @@ -4285,61 +4309,7 @@ "crud_qc_third_party_item_soft_delete_item", "crud_qc_third_party_item_update_item" ], - "17": [ - "crud_collection_protocol_no_batch_generate_protocol_nos", - "crud_collection_protocol_no_batch_issue_protocol_nos", - "crud_collection_protocol_no_batch_revoke_protocol_nos", - "crud_collection_protocol_no_create_protocol_no", - "crud_collection_protocol_no_get_protocol_no", - "crud_collection_protocol_no_list_protocol_nos", - "crud_collection_protocol_no_parse_issued_time", - "crud_collection_protocol_no_protocol_no_exists", - "crud_collection_protocol_no_py", - "crud_collection_protocol_no_rationale_1", - "crud_collection_protocol_no_rationale_20", - "crud_collection_protocol_no_rationale_256", - "crud_collection_protocol_no_resolve_issued_user_display_name", - "crud_collection_protocol_no_row_to_dict", - "crud_collection_protocol_no_soft_delete_protocol_no", - "crud_collection_protocol_no_total_pages", - "crud_collection_protocol_no_update_protocol_no" - ], - "18": [ - "crud_sample_code_batch_generate_sample_codes", - "crud_sample_code_batch_issue_sample_codes", - "crud_sample_code_batch_revoke_sample_codes", - "crud_sample_code_create_sample_code", - "crud_sample_code_get_sample_code", - "crud_sample_code_list_sample_codes", - "crud_sample_code_parse_issued_time", - "crud_sample_code_py", - "crud_sample_code_rationale_1", - "crud_sample_code_rationale_261", - "crud_sample_code_resolve_issued_user_display_name", - "crud_sample_code_row_to_dict", - "crud_sample_code_sample_code_exists", - "crud_sample_code_soft_delete_sample_code", - "crud_sample_code_total_pages", - "crud_sample_code_update_sample_code" - ], "19": [ - "crud_collection_region_create_collection_region", - "crud_collection_region_create_hospital", - "crud_collection_region_get_collection_region", - "crud_collection_region_get_hospital", - "crud_collection_region_hospital_names_by_region_ids", - "crud_collection_region_hospital_to_dict", - "crud_collection_region_list_collection_regions", - "crud_collection_region_list_hospitals", - "crud_collection_region_py", - "crud_collection_region_search_hospitals_by_keyword", - "crud_collection_region_soft_delete_collection_region", - "crud_collection_region_soft_delete_hospital", - "crud_collection_region_total_pages", - "crud_collection_region_update_collection_region", - "crud_collection_region_update_hospital" - ], - "20": [ "crud_equipment_create_equipment", "crud_equipment_dec", "crud_equipment_equipment_code_exists", @@ -4355,7 +4325,7 @@ "crud_equipment_total_pages", "crud_equipment_update_equipment" ], - "21": [ + "20": [ "core_wechat_message_py", "core_wechat_message_rationale_1", "core_wechat_message_rationale_86", @@ -4370,7 +4340,7 @@ "core_wechat_message_wechatmessageservice_init", "core_wechat_message_wechatmessageservice_send_template_message" ], - "22": [ + "21": [ "crud_exhibition_appointment_appointment_no_exists", "crud_exhibition_appointment_create_exhibition_appointment", "crud_exhibition_appointment_format_visit_date", @@ -4385,7 +4355,7 @@ "crud_exhibition_appointment_soft_delete_exhibition_appointment", "crud_exhibition_appointment_update_exhibition_appointment" ], - "23": [ + "22": [ "crud_reagent_stock_log_deduct_for_step", "crud_reagent_stock_log_display_remark", "crud_reagent_stock_log_list_stock_logs", @@ -4399,7 +4369,7 @@ "crud_reagent_stock_log_row_to_dict", "crud_reagent_stock_log_user_nick_name_map" ], - "24": [ + "23": [ "crud_env_detect_record_create_env_detect_record", "crud_env_detect_record_generate_record_no", "crud_env_detect_record_get_env_detect_record", @@ -4413,7 +4383,7 @@ "crud_env_detect_record_split_csv", "crud_env_detect_record_update_env_detect_record" ], - "25": [ + "24": [ "crud_consumable_stock_log_deduct_for_step", "crud_consumable_stock_log_display_remark", "crud_consumable_stock_log_list_stock_logs", @@ -4427,7 +4397,7 @@ "crud_consumable_stock_log_row_to_dict", "crud_consumable_stock_log_user_nick_name_map" ], - "26": [ + "25": [ "crud_dept_build_tree", "crud_dept_cascade_soft_delete", "crud_dept_collect_with_ancestors", @@ -4441,7 +4411,7 @@ "crud_dept_soft_delete_dept", "crud_dept_update_dept" ], - "27": [ + "26": [ "crud_menu_build_tree", "crud_menu_cascade_soft_delete", "crud_menu_create_menu", @@ -4454,7 +4424,7 @@ "crud_menu_soft_delete_menu", "crud_menu_update_menu" ], - "28": [ + "27": [ "crud_customer_create_customer", "crud_customer_get_customer", "crud_customer_id_card_taken", @@ -4467,7 +4437,7 @@ "crud_customer_total_pages", "crud_customer_update_customer" ], - "29": [ + "28": [ "crud_sample_reception_check_item_create_check_item", "crud_sample_reception_check_item_get_check_item", "crud_sample_reception_check_item_item_code_exists", @@ -4479,7 +4449,7 @@ "crud_sample_reception_check_item_soft_delete_check_item", "crud_sample_reception_check_item_update_check_item" ], - "30": [ + "29": [ "crud_env_detect_item_create_env_detect_item", "crud_env_detect_item_get_env_detect_item", "crud_env_detect_item_item_code_exists", @@ -4491,7 +4461,7 @@ "crud_env_detect_item_soft_delete_env_detect_item", "crud_env_detect_item_update_env_detect_item" ], - "31": [ + "30": [ "crud_item_unit_create_item_unit", "crud_item_unit_get_item_unit", "crud_item_unit_list_item_units", @@ -4503,7 +4473,41 @@ "crud_item_unit_unit_code_exists", "crud_item_unit_update_item_unit" ], + "31": [ + "crud_output_type_create_output_type", + "crud_output_type_get_output_type", + "crud_output_type_list_output_types", + "crud_output_type_py", + "crud_output_type_rationale_1", + "crud_output_type_row_to_dict", + "crud_output_type_soft_delete_output_type", + "crud_output_type_total_pages", + "crud_output_type_type_code_exists", + "crud_output_type_update_output_type" + ], "32": [ + "crud_tenant_create_tenant", + "crud_tenant_get_tenant", + "crud_tenant_list_tenants", + "crud_tenant_py", + "crud_tenant_row_to_dict", + "crud_tenant_soft_delete_tenant", + "crud_tenant_tenant_no_exists", + "crud_tenant_total_pages", + "crud_tenant_update_tenant" + ], + "33": [ + "crud_site_create_site", + "crud_site_get_site", + "crud_site_list_sites", + "crud_site_py", + "crud_site_row_to_dict", + "crud_site_site_code_exists", + "crud_site_soft_delete_site", + "crud_site_total_pages", + "crud_site_update_site" + ], + "34": [ "models_base_basemodel", "models_base_basemodel_to_dict", "models_base_get_active", @@ -4513,7 +4517,7 @@ "models_base_softdeletemodel_soft_delete", "models_base_tablename" ], - "33": [ + "35": [ "core_order_status_compat_derive_legacy_status_from_three", "core_order_status_compat_derive_three_status_from_legacy", "core_order_status_compat_py", @@ -4522,65 +4526,65 @@ "core_order_status_compat_threestatus", "core_order_status_compat_to_decimal" ], - "34": [ + "36": [ "basesettings", "core_config_config", "core_config_py", "core_config_settings" ], - "35": [ + "37": [ "core_database_auto_fill_create_dept_id", "core_database_get_db", "core_database_py", "core_database_rationale_31" ], - "36": [ + "38": [ "api_menu_get_menu_list", "api_menu_py", "api_menu_rationale_1" ], - "37": [ + "39": [ "core_context_py", "core_context_rationale_1" ], - "38": [ + "40": [ "api_init_py", "api_init_rationale_1" ], - "39": [ + "41": [ "init_py" ], - "40": [ + "42": [ "core_init_py" ], - "41": [ + "43": [ "core_wechat_message_rationale_143" ], - "42": [ + "44": [ "core_wechat_message_rationale_179" ], - "43": [ + "45": [ "core_wechat_message_rationale_215" ], - "44": [ + "46": [ "core_wechat_message_rationale_251" ], - "45": [ + "47": [ "core_wechat_message_rationale_289" ], - "46": [ + "48": [ "core_wechat_message_rationale_325" ], - "47": [ + "49": [ "models_init_py" ], - "48": [ + "50": [ "schemas_init_py" ], - "49": [ + "51": [ "crud_init_py" ], - "50": [ + "52": [ "ws_init_py" ] }, @@ -4592,38 +4596,38 @@ "4": 0.01, "5": 0.07, "6": 0.02, - "7": 0.02, + "7": 0.03, "8": 0.03, "9": 0.03, "10": 0.03, - "11": 0.34, - "12": 0.06, - "13": 0.07, - "14": 0.11, - "15": 0.12, - "16": 0.18, - "17": 0.21, - "18": 0.22, - "19": 0.22, - "20": 0.27, + "11": 0.05, + "12": 0.34, + "13": 0.06, + "14": 0.07, + "15": 0.11, + "16": 0.12, + "17": 0.2, + "18": 0.18, + "19": 0.27, + "20": 0.24, "21": 0.24, "22": 0.24, - "23": 0.24, - "24": 0.32, - "25": 0.24, - "26": 0.27, - "27": 0.29, - "28": 0.27, + "23": 0.32, + "24": 0.24, + "25": 0.27, + "26": 0.29, + "27": 0.27, + "28": 0.38, "29": 0.38, - "30": 0.38, + "30": 0.31, "31": 0.31, - "32": 0.29, - "33": 0.38, - "34": 0.5, - "35": 0.5, - "36": 0.67, - "37": 1.0, - "38": 1.0, + "32": 0.36, + "33": 0.36, + "34": 0.29, + "35": 0.38, + "36": 0.5, + "37": 0.5, + "38": 0.67, "39": 1.0, "40": 1.0, "41": 1.0, @@ -4635,7 +4639,9 @@ "47": 1.0, "48": 1.0, "49": 1.0, - "50": 1.0 + "50": 1.0, + "51": 1.0, + "52": 1.0 }, "gods": [ { diff --git a/backend/graphify-out/.graphify_extract.json b/backend/graphify-out/.graphify_extract.json index 67fb7747..2d2a1415 100644 --- a/backend/graphify-out/.graphify_extract.json +++ b/backend/graphify-out/.graphify_extract.json @@ -20858,7 +20858,7 @@ "label": "normalize_legacy_configure_to_batches()", "file_type": "code", "source_file": "crud/qc_inspection_batch.py", - "source_location": "L874" + "source_location": "L878" }, { "id": "crud_qc_inspection_batch_rationale_675", @@ -20868,11 +20868,11 @@ "source_location": "L675" }, { - "id": "crud_qc_inspection_batch_rationale_875", + "id": "crud_qc_inspection_batch_rationale_879", "label": "\u5c06\u6241\u5e73 labItemIds \u914d\u7f6e\u8f6c\u4e3a\u5355\u6279\u6b21\u7ed3\u6784\u3002", "file_type": "rationale", "source_file": "crud/qc_inspection_batch.py", - "source_location": "L875" + "source_location": "L879" }, { "id": "crud_production_material_prep_py", @@ -86106,7 +86106,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_inspection_batch.py", - "source_location": "L874", + "source_location": "L878", "weight": 1.0 }, { @@ -86281,12 +86281,12 @@ "weight": 1.0 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/qc_inspection_batch.py", - "source_location": "L875", + "source_location": "L879", "weight": 1.0 }, { @@ -163020,7 +163020,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L894", + "source_location": "L893", "weight": 0.8 }, { @@ -163029,7 +163029,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L894", + "source_location": "L893", "weight": 0.8 }, { @@ -200500,7 +200500,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_bizqcbatchassignee", "relation": "uses", "confidence": "INFERRED", @@ -200518,7 +200518,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_bizqctask", "relation": "uses", "confidence": "INFERRED", @@ -200536,7 +200536,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_bizqcworkorder", "relation": "uses", "confidence": "INFERRED", @@ -200554,7 +200554,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_bizqcworkorderinspectionbatch", "relation": "uses", "confidence": "INFERRED", @@ -200572,7 +200572,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_bizqcworkorderlabitem", "relation": "uses", "confidence": "INFERRED", @@ -200590,7 +200590,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_bizqcworkorderthirditem", "relation": "uses", "confidence": "INFERRED", @@ -200608,7 +200608,7 @@ "weight": 0.8 }, { - "source": "crud_qc_inspection_batch_rationale_875", + "source": "crud_qc_inspection_batch_rationale_879", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -222031,6 +222031,36 @@ "source_location": "L855", "weight": 1.0 }, + { + "source": "crud_qc_task_delete_qc_task", + "target": "crud_qc_work_order_get_work_order", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_task.py", + "source_location": "L912", + "weight": 1.0 + }, + { + "source": "crud_qc_task_delete_qc_task", + "target": "crud_base_crudbase_count", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_task.py", + "source_location": "L915", + "weight": 1.0 + }, + { + "source": "crud_qc_task_delete_qc_task", + "target": "crud_qc_work_order_try_complete_work_order", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_task.py", + "source_location": "L931", + "weight": 1.0 + }, { "source": "crud_process_route_list_routes", "target": "crud_base_crudbase_count", @@ -236641,6 +236671,16 @@ "source_location": "L868", "weight": 1.0 }, + { + "source": "crud_qc_inspection_batch_configure_work_order_batches", + "target": "crud_qc_work_order_try_complete_work_order", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_inspection_batch.py", + "source_location": "L873", + "weight": 1.0 + }, { "source": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "target": "crud_base_crudbase_get", @@ -236648,7 +236688,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_inspection_batch.py", - "source_location": "L876", + "source_location": "L880", "weight": 1.0 }, { diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index d9e10be5..e049d6d8 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,11 +1,11 @@ -# Graph Report - app (2026-07-01) +# Graph Report - app (2026-07-02) ## Corpus Check -- Large corpus: 217 files · ~262,549 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 217 files · ~262,608 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary -- 4481 nodes · 24087 edges · 45 communities detected -- Extraction: 32% EXTRACTED · 68% INFERRED · 0% AMBIGUOUS · INFERRED: 16400 edges (avg confidence: 0.59) +- 4481 nodes · 24091 edges · 47 communities detected +- Extraction: 32% EXTRACTED · 68% INFERRED · 0% AMBIGUOUS · INFERRED: 16404 edges (avg confidence: 0.59) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) @@ -48,12 +48,14 @@ - [[_COMMUNITY_Community 36|Community 36]] - [[_COMMUNITY_Community 37|Community 37]] - [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] +- [[_COMMUNITY_Community 39|Community 39]] +- [[_COMMUNITY_Community 40|Community 40]] - [[_COMMUNITY_Community 43|Community 43]] - [[_COMMUNITY_Community 44|Community 44]] - [[_COMMUNITY_Community 45|Community 45]] - [[_COMMUNITY_Community 46|Community 46]] +- [[_COMMUNITY_Community 47|Community 47]] +- [[_COMMUNITY_Community 48|Community 48]] ## God Nodes (most connected - your core abstractions) 1. `success_response()` - 670 edges @@ -83,7 +85,7 @@ ### Community 0 - "Community 0" Cohesion: 0.01 -Nodes (869): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+861 more) +Nodes (867): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+859 more) ### Community 1 - "Community 1" Cohesion: 0.01 @@ -91,7 +93,7 @@ Nodes (573): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictData ### Community 2 - "Community 2" Cohesion: 0.01 -Nodes (469): list_ethnics_for_select(), get_designer_data(), apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), generate_uuid(), ApiRequestLogCRUD (+461 more) +Nodes (467): list_ethnics_for_select(), get_designer_data(), apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), generate_uuid(), ApiRequestLogCRUD (+459 more) ### Community 3 - "Community 3" Cohesion: 0.08 @@ -99,19 +101,19 @@ Nodes (385): 环境检测 — 检测项维护 + 登记管理 API, 保险公司 ### Community 4 - "Community 4" Cohesion: 0.01 -Nodes (333): _normalize_date_bound(), _persist_protocol_sub_resources(), batch_delete_research_donations(), change_donation_status(), convert_from_storage(), convert_to_storage(), create_research_donation(), delete_research_donation() (+325 more) +Nodes (267): _normalize_date_bound(), _persist_protocol_sub_resources(), batch_delete_research_donations(), change_donation_status(), convert_from_storage(), convert_to_storage(), create_research_donation(), delete_research_donation() (+259 more) ### Community 5 - "Community 5" Cohesion: 0.07 -Nodes (262): CellSampleTypeCreateBody, CellSampleTypeUpdateBody, CollectionRegionCreateBody, CollectionRegionUpdateBody, CustomerCreateBody, CustomerUpdateBody, HospitalCreateBody, HospitalUpdateBody (+254 more) +Nodes (268): CellSampleTypeCreateBody, CellSampleTypeUpdateBody, CollectionRegionCreateBody, CollectionRegionUpdateBody, CustomerCreateBody, CustomerUpdateBody, HospitalCreateBody, HospitalUpdateBody (+260 more) ### Community 6 - "Community 6" Cohesion: 0.02 Nodes (230): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。, 跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。, 将列显式设为 utf8mb4_unicode_ci。, unicode_ci(), build_void_type_label_map(), format_protocol_status_label() (+222 more) ### Community 7 - "Community 7" -Cohesion: 0.02 -Nodes (199): _code_exists(), create_material(), _dec(), _fmt_dt(), get_material(), get_material_entity(), get_my_usages(), _is_enabled_status() (+191 more) +Cohesion: 0.03 +Nodes (180): batch_discard(), batch_options(), _batch_row_to_dict(), batch_stock_in(), batch_stock_out(), _create_batch_and_usage(), delete_batch(), _discard_batch() (+172 more) ### Community 8 - "Community 8" Cohesion: 0.03 @@ -126,175 +128,183 @@ Cohesion: 0.03 Nodes (73): _error_json(), lifespan(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware, ApiCryptoError (+65 more) ### Community 11 - "Community 11" +Cohesion: 0.05 +Nodes (83): _format_attachment_file_size(), urls_to_attachment_list(), get_map_by_reception_ids(), _attach_production_reception(), _can_edit_sample_reception(), get_check_results_for_reception(), _legacy_results_from_reception(), list_results_by_reception_ids() (+75 more) + +### Community 12 - "Community 12" Cohesion: 0.34 Nodes (73): BatchStockInBody, BatchStockInItem, BatchStockOutBody, BatchStockOutItem, ConsumableCreateBody, ConsumablePackCreateBody, ConsumablePackUpdateBody, ConsumableUpdateBody (+65 more) -### Community 12 - "Community 12" -Cohesion: 0.06 -Nodes (62): complete_application(), create_basic_experiment_sale_schedules(), create_infusion_plan(), create_schedule(), _create_schedule_products(), _format_yyyy_mm_dd(), _generate_application_no(), get_application() (+54 more) - ### Community 13 - "Community 13" +Cohesion: 0.06 +Nodes (63): auto_create_payment(), complete_application(), create_basic_experiment_sale_schedules(), create_infusion_plan(), create_schedule(), _create_schedule_products(), _format_yyyy_mm_dd(), _generate_application_no() (+55 more) + +### Community 14 - "Community 14" Cohesion: 0.07 Nodes (58): aggregate_slot_stats_by_facility(), _apply_slot_select_base_filters(), _apply_slot_select_query_filters(), batch_create_slots(), _build_node_path_cache(), _build_slot_keyword_sql_filters(), collect_descendant_ids(), _collect_slot_host_node_ids() (+50 more) -### Community 14 - "Community 14" +### Community 15 - "Community 15" Cohesion: 0.11 Nodes (35): batch_create_sterilize_logs(), batch_create_wash_logs(), batch_discard_garments(), batch_soft_delete_garments(), _count_map(), create_garment(), create_sterilize_log(), create_wash_log() (+27 more) -### Community 15 - "Community 15" +### Community 16 - "Community 16" Cohesion: 0.12 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 16 - "Community 16" +### Community 17 - "Community 17" +Cohesion: 0.2 +Nodes (19): _code_exists(), create_material(), _dec(), _fmt_dt(), get_material(), get_material_entity(), get_my_usages(), _is_enabled_status() (+11 more) + +### Community 18 - "Community 18" Cohesion: 0.18 Nodes (18): company_code_exists(), create_company(), get_company(), list_companies(), list_company_options(), _row_to_dict(), soft_delete_company(), update_company() (+10 more) -### Community 17 - "Community 17" -Cohesion: 0.21 -Nodes (15): batch_generate_protocol_nos(), batch_issue_protocol_nos(), batch_revoke_protocol_nos(), create_protocol_no(), get_protocol_no(), list_protocol_nos(), _parse_issued_time(), protocol_no_exists() (+7 more) - -### Community 18 - "Community 18" -Cohesion: 0.22 -Nodes (14): batch_generate_sample_codes(), batch_issue_sample_codes(), batch_revoke_sample_codes(), create_sample_code(), get_sample_code(), list_sample_codes(), _parse_issued_time(), 样本编码池 CRUD(biz_sample_code) (+6 more) - ### Community 19 - "Community 19" -Cohesion: 0.22 -Nodes (13): create_collection_region(), create_hospital(), get_collection_region(), get_hospital(), _hospital_names_by_region_ids(), _hospital_to_dict(), list_collection_regions(), list_hospitals() (+5 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" +### Community 20 - "Community 20" 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 21 - "Community 21" Cohesion: 0.24 Nodes (12): appointment_no_exists(), create_exhibition_appointment(), _format_visit_date(), _generate_appointment_no(), get_exhibition_appointment(), list_exhibition_appointments(), 展览预约 CRUD(biz_exhibition_appointment), 生成预约编号:YYYYMMDD + 6位序号(如 20260515000001) (+4 more) -### Community 23 - "Community 23" +### Community 22 - "Community 22" 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 24 - "Community 24" +### Community 23 - "Community 23" Cohesion: 0.32 Nodes (11): create_env_detect_record(), _generate_record_no(), get_env_detect_record(), _join_csv(), list_env_detect_records(), _resolve_inspector_snapshots(), _resolve_item_snapshot(), _row_to_dict() (+3 more) -### Community 25 - "Community 25" +### Community 24 - "Community 24" 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 26 - "Community 26" +### Community 25 - "Community 25" Cohesion: 0.27 Nodes (11): _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept(), get_dept(), list_depts(), list_depts_tree(), 保留匹配节点及其全部上级,供关键词检索后仍能正确组树。 (+3 more) -### Community 27 - "Community 27" +### Community 26 - "Community 26" Cohesion: 0.29 Nodes (9): _build_tree(), _cascade_soft_delete(), create_menu(), get_menu(), list_menus(), list_menus_tree(), _row_to_dict(), soft_delete_menu() (+1 more) -### Community 28 - "Community 28" +### Community 27 - "Community 27" Cohesion: 0.27 Nodes (8): create_customer(), get_customer(), id_card_taken(), list_customers(), 客户 CRUD(biz_customer), _row_to_dict(), soft_delete_customer(), update_customer() -### Community 29 - "Community 29" +### Community 28 - "Community 28" Cohesion: 0.38 Nodes (9): create_check_item(), get_check_item(), item_code_exists(), list_active_check_items(), list_check_items(), _order_query(), _row_to_dict(), soft_delete_check_item() (+1 more) -### Community 30 - "Community 30" +### Community 29 - "Community 29" Cohesion: 0.38 Nodes (9): create_env_detect_item(), get_env_detect_item(), item_code_exists(), list_active_env_detect_items(), list_env_detect_items(), _order_query(), _row_to_dict(), soft_delete_env_detect_item() (+1 more) -### Community 31 - "Community 31" +### Community 30 - "Community 30" Cohesion: 0.31 Nodes (8): create_item_unit(), get_item_unit(), list_item_units(), 物品单位 CRUD(biz_item_unit), _row_to_dict(), soft_delete_item_unit(), unit_code_exists(), update_item_unit() +### Community 31 - "Community 31" +Cohesion: 0.31 +Nodes (8): create_output_type(), get_output_type(), list_output_types(), 工艺产出物类型 CRUD(biz_output_type), _row_to_dict(), soft_delete_output_type(), type_code_exists(), update_output_type() + ### Community 32 - "Community 32" +Cohesion: 0.36 +Nodes (7): create_tenant(), get_tenant(), list_tenants(), _row_to_dict(), soft_delete_tenant(), tenant_no_exists(), update_tenant() + +### Community 33 - "Community 33" +Cohesion: 0.36 +Nodes (7): create_site(), get_site(), list_sites(), _row_to_dict(), site_code_exists(), soft_delete_site(), update_site() + +### Community 34 - "Community 34" Cohesion: 0.29 Nodes (2): BaseModel, SoftDeleteModel -### Community 33 - "Community 33" +### Community 35 - "Community 35" Cohesion: 0.38 Nodes (6): derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。, ThreeStatus, _to_decimal() -### Community 34 - "Community 34" +### Community 36 - "Community 36" Cohesion: 0.5 Nodes (3): BaseSettings, Config, Settings -### Community 35 - "Community 35" +### Community 37 - "Community 37" Cohesion: 0.5 Nodes (2): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID -### Community 36 - "Community 36" +### Community 38 - "Community 38" Cohesion: 0.67 Nodes (2): get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组) -### Community 37 - "Community 37" +### Community 39 - "Community 39" Cohesion: 1.0 Nodes (1): 请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传 -### Community 38 - "Community 38" +### Community 40 - "Community 40" Cohesion: 1.0 Nodes (1): API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位) -### Community 41 - "Community 41" +### Community 43 - "Community 43" Cohesion: 1.0 Nodes (1): 发送订单状态通知 Args: openid: 用户openid ord -### Community 42 - "Community 42" +### Community 44 - "Community 44" Cohesion: 1.0 Nodes (1): 发送支付成功通知 Args: openid: 用户openid ord -### Community 43 - "Community 43" +### Community 45 - "Community 45" Cohesion: 1.0 Nodes (1): 发送配送通知 Args: openid: 配送员openid task -### Community 44 - "Community 44" +### Community 46 - "Community 46" Cohesion: 1.0 Nodes (1): 发送配送时效预警 Args: openid: 配送员openid ta -### Community 45 - "Community 45" +### Community 47 - "Community 47" Cohesion: 1.0 Nodes (1): 发送退款结果通知 Args: openid: 用户openid ord -### Community 46 - "Community 46" +### Community 48 - "Community 48" Cohesion: 1.0 Nodes (1): 发送催单通知给配送员 Args: deliver_openid: 配送员openid ## Knowledge Gaps - **130 isolated node(s):** `刷新会话 TTL(refreshToken 续期;已登录用户每次 API 校验通过后滑动续期)`, `写入 refreshToken(用于 one-time 使用/吊销)`, `根据 token 获取当前用户(包含 Redis 会话校验;会话滑动续期)`, `登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。`, `加载 RSA 密钥对:优先环境变量,否则使用内置固定默认密钥。` (+125 more) These have ≤1 connection - possible missing edges or undocumented components. -- **Thin community `Community 32`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` +- **Thin community `Community 34`** (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 35`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` +- **Thin community `Community 37`** (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 36`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` +- **Thin community `Community 38`** (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 37`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` +- **Thin community `Community 39`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 38`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` +- **Thin community `Community 40`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 41`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` +- **Thin community `Community 43`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 42`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` +- **Thin community `Community 44`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 43`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` +- **Thin community `Community 45`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 44`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` +- **Thin community `Community 46`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 45`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` +- **Thin community `Community 47`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 46`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` +- **Thin community `Community 48`** (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 1` to `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 7`, `Community 8`, `Community 11`, `Community 17`, `Community 18`, `Community 23`, `Community 25`?** +- **Why does `SysUser` connect `Community 1` to `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 7`, `Community 8`, `Community 12`, `Community 22`, `Community 24`?** _High betweenness centrality (0.108) - this node is a cross-community bridge._ -- **Why does `generate_uuid()` connect `Community 2` to `Community 0`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 13`, `Community 14`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`?** +- **Why does `generate_uuid()` connect `Community 2` to `Community 0`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 11`, `Community 14`, `Community 15`, `Community 17`, `Community 18`, `Community 19`, `Community 21`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 32`, `Community 33`?** _High betweenness centrality (0.059) - this node is a cross-community bridge._ -- **Why does `success_response()` connect `Community 0` to `Community 1`, `Community 2`, `Community 36`, `Community 4`, `Community 8`, `Community 9`?** +- **Why does `success_response()` connect `Community 0` to `Community 1`, `Community 2`, `Community 4`, `Community 38`, `Community 8`, `Community 9`?** _High betweenness centrality (0.047) - this node is a cross-community bridge._ - **Are the 737 inferred relationships involving `str` (e.g. with `unhandled_exception_handler()` and `get_current_user_by_token()`) actually correct?** _`str` has 737 INFERRED edges - model-reasoned connections that need verification._ diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index dd33481f..2b64add5 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -57,12 +57,12 @@
-
4481 nodes · 24087 edges · 51 communities
+
4481 nodes · 24091 edges · 53 communities