From b8b044654253db9c6a27d9bce02ee68be757a164 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Wed, 22 Jul 2026 10:43:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app.pid | 1 + backend/app/api/qc.py | 7 +- backend/app/crud/qc_task.py | 24 +- ...1e8cea81a7625418d45e2126c6e2ec801c6b7.json | 1 + ...7b92c6a74f08f55d289c37cc70b29f1ad6e60.json | 1 + backend/graphify-out/.graphify_analysis.json | 2199 ++++---- backend/graphify-out/.graphify_extract.json | 1356 +++-- backend/graphify-out/GRAPH_REPORT.md | 133 +- backend/graphify-out/graph.html | 8 +- backend/graphify-out/graph.json | 5012 +++++++++-------- backend/graphify-out/manifest.json | 4 +- .../tests/test_qc_task_result_conclusion.py | 22 + ...026-07-22-qc-result-optional-conclusion.md | 315 ++ ...22-qc-result-optional-conclusion-design.md | 105 + web-admin/graphify-out/.graphify_extract.json | 33 +- web-admin/graphify-out/GRAPH_REPORT.md | 4 +- web-admin/graphify-out/manifest.json | 8 +- ...9934f93dcdb3708456f28a15492b0545cc1a4.json | 1 + ...6bde4c8fe6d54010932dfb7a7218e6595c825.json | 1 + ...ab4b8ac3e1d80fd5fe4ad324564d9a27d62ce.json | 1 + .../QcWorkOrderProtocolPaymentPanel.vue | 257 +- .../qc-work-order/QcWorkOrderTaskSubList.vue | 14 +- 22 files changed, 5225 insertions(+), 4282 deletions(-) create mode 100644 backend/app.pid create mode 100644 backend/app/graphify-out/cache/ast/1272db5a3035c7391561614af9e1e8cea81a7625418d45e2126c6e2ec801c6b7.json create mode 100644 backend/app/graphify-out/cache/ast/d232ec13eef069043d123f6c5d77b92c6a74f08f55d289c37cc70b29f1ad6e60.json create mode 100644 backend/tests/test_qc_task_result_conclusion.py create mode 100644 docs/superpowers/plans/2026-07-22-qc-result-optional-conclusion.md create mode 100644 docs/superpowers/specs/2026-07-22-qc-result-optional-conclusion-design.md create mode 100644 web-admin/src/graphify-out/cache/ast/08d8296d3725d482d78d74761729934f93dcdb3708456f28a15492b0545cc1a4.json create mode 100644 web-admin/src/graphify-out/cache/ast/63698e9d7eb4da1a63fcf6315366bde4c8fe6d54010932dfb7a7218e6595c825.json create mode 100644 web-admin/src/graphify-out/cache/ast/8f292717400fa58f17c328444acab4b8ac3e1d80fd5fe4ad324564d9a27d62ce.json diff --git a/backend/app.pid b/backend/app.pid new file mode 100644 index 00000000..7646b770 --- /dev/null +++ b/backend/app.pid @@ -0,0 +1 @@ +31511 diff --git a/backend/app/api/qc.py b/backend/app/api/qc.py index 5be4e383..b0ed38ac 100644 --- a/backend/app/api/qc.py +++ b/backend/app/api/qc.py @@ -413,7 +413,7 @@ class TaskResultBody(BaseModel): class TaskCompleteWithResultBody(BaseModel): model_config = ConfigDict(populate_by_name=True) - conclusion: str = Field(..., alias="conclusion") + conclusion: Optional[str] = Field(None, alias="conclusion") results: List[Dict[str, Any]] = Field(default_factory=list, alias="results") remark: Optional[str] = Field(None, alias="remark") third_party_attachments: Optional[str] = Field(None, alias="thirdPartyAttachments") @@ -1190,9 +1190,6 @@ async def complete_task_with_result( result_svc.save_results_for_task( db, task_id, body.results, tenant_no, user_id, commit=False, ) - concl = (body.conclusion or "").strip() - if concl not in ("tg", "btg"): - return error_response(400, "请选择检测结论(通过/不通过)") if body.third_party_attachments is not None: task_svc.update_task_attachments( db, task_id, attachments=body.third_party_attachments, @@ -1203,7 +1200,7 @@ async def complete_task_with_result( task_id, tenant_no=tenant_no, user_id=user_id, - conclusion=concl, + conclusion=body.conclusion, remark=body.remark, material_usages=body.material_usages, task_status=body.task_status, diff --git a/backend/app/crud/qc_task.py b/backend/app/crud/qc_task.py index 900a46d4..7056dbb4 100644 --- a/backend/app/crud/qc_task.py +++ b/backend/app/crud/qc_task.py @@ -760,13 +760,29 @@ def complete_task( _QC_TASK_RESULT_STATUSES = frozenset({"dzx", "jxz", "ywc"}) +def resolve_task_result_conclusion( + conclusion: Optional[str], + target_status: str, +) -> str: + """Normalize conclusion for apply_task_result. + + Returns '' | 'tg' | 'btg'. Empty allowed only when target is dzx/jxz. + """ + concl = (conclusion or "").strip() + if concl and concl not in ("tg", "btg"): + raise ValueError("检测结论无效") + if target_status == "ywc" and concl not in ("tg", "btg"): + raise ValueError("请选择检测结论(通过/不通过)") + return concl + + def apply_task_result( db: Session, row_id: str, *, tenant_no: str, user_id: Optional[str], - conclusion: str, + conclusion: Optional[str] = None, remark: Optional[str] = None, material_usages: Optional[List[Dict[str, Any]]] = None, task_status: Optional[str] = None, @@ -779,12 +795,10 @@ def apply_task_result( t = get_task(db, row_id, tenant_no=tenant_no) if not t: raise ValueError("任务不存在") - concl = (conclusion or "").strip() - if concl not in ("tg", "btg"): - raise ValueError("请选择检测结论(通过/不通过)") target = (task_status or "").strip() or "ywc" if target not in _QC_TASK_RESULT_STATUSES: raise ValueError("任务状态无效") + concl = resolve_task_result_conclusion(conclusion, target) _require_dsfjc_attachments(t, for_status=target) if material_usages is not None: mu_svc.deduct_for_task( @@ -796,7 +810,7 @@ def apply_task_result( user_id=user_id, ) was_done = (t.task_status or "").strip() == "ywc" - t.conclusion = concl + t.conclusion = concl or None _set_task_remark(t, remark if remark is not None else "") t.task_status = target t.update_by = user_id diff --git a/backend/app/graphify-out/cache/ast/1272db5a3035c7391561614af9e1e8cea81a7625418d45e2126c6e2ec801c6b7.json b/backend/app/graphify-out/cache/ast/1272db5a3035c7391561614af9e1e8cea81a7625418d45e2126c6e2ec801c6b7.json new file mode 100644 index 00000000..bfb242fb --- /dev/null +++ b/backend/app/graphify-out/cache/ast/1272db5a3035c7391561614af9e1e8cea81a7625418d45e2126c6e2ec801c6b7.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": "L40"}, {"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": "L46"}, {"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": "L50"}, {"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": "L63"}, {"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": "L68"}, {"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": "L102"}, {"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": "L179"}, {"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": "L203"}, {"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": "L223"}, {"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": "L370"}, {"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": "L381"}, {"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": "L428"}, {"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": "L509"}, {"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": "L601"}, {"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": "L608"}, {"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": "L615"}, {"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": "L645"}, {"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": "L654"}, {"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": "L687"}, {"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": "L704"}, {"id": "crud_qc_task_require_dsfjc_attachments", "label": "_require_dsfjc_attachments()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L708"}, {"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": "L718"}, {"id": "crud_qc_task_resolve_task_result_conclusion", "label": "resolve_task_result_conclusion()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L763"}, {"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": "L779"}, {"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": "L837"}, {"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": "L867"}, {"id": "crud_qc_task_soft_delete_source_line_for_task", "label": "_soft_delete_source_line_for_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L916"}, {"id": "crud_qc_task_refresh_work_order_item_flags", "label": "_refresh_work_order_item_flags()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L978"}, {"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": "L1017"}, {"id": "crud_qc_task_rationale_180", "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": "L180"}, {"id": "crud_qc_task_rationale_709", "label": "\u7b2c\u4e09\u65b9\u68c0\u6d4b\u4e14\u4efb\u52a1\u72b6\u6001\u4e3a\u5df2\u5b8c\u6210\u65f6\uff0c\u987b\u81f3\u5c11\u6709\u4e00\u4e2a\u68c0\u6d4b\u6750\u6599\u9644\u4ef6\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L709"}, {"id": "crud_qc_task_rationale_767", "label": "Normalize conclusion for apply_task_result. Returns '' | 'tg' | 'btg'. Empt", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L767"}, {"id": "crud_qc_task_rationale_791", "label": "\u4fdd\u5b58\u68c0\u6d4b\u7ed3\u679c\u4e0e\u7ed3\u8bba\uff0c\u5e76\u6309\u6307\u5b9a\u4efb\u52a1\u72b6\u6001\u843d\u5e93\uff08\u9ed8\u8ba4\u5df2\u5b8c\u6210\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L791"}, {"id": "crud_qc_task_rationale_924", "label": "\u5220\u9664\u4efb\u52a1\u65f6\u540c\u6b65\u8f6f\u5220\u6279\u6b21\u4e0b\u5bf9\u5e94 lab/third \u660e\u7ec6\u884c\uff0c\u907f\u514d\u914d\u7f6e\u5f39\u7a97\u4ecd\u52fe\u9009\u8be5\u9879\u76ee\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L924"}, {"id": "crud_qc_task_rationale_986", "label": "\u6309\u672a\u5220\u9664\u660e\u7ec6\u884c\u56de\u5199\u5de5\u5355 has_lab / has_third_party / \u7b2c\u4e09\u65b9\u8d39\u7528\u5408\u8ba1\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L986"}, {"id": "crud_qc_task_rationale_1018", "label": "\u8f6f\u5220\u9664\u8d28\u68c0\u4efb\u52a1\u3001\u68c0\u6d4b\u7ed3\u679c\uff0c\u5e76\u540c\u6b65\u89e3\u9664\u6279\u6b21\u4e2d\u7684\u9879\u76ee\u5173\u8054\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1018"}], "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": "L37", "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": "L40", "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": "L46", "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": "L50", "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": "L63", "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": "L68", "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": "L102", "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": "L179", "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": "L203", "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": "L223", "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": "L370", "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": "L381", "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": "L428", "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": "L509", "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": "L601", "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": "L608", "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": "L615", "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": "L645", "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": "L654", "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": "L687", "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": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_require_dsfjc_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L708", "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": "L718", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_resolve_task_result_conclusion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L763", "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": "L779", "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": "L837", "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": "L867", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_soft_delete_source_line_for_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L916", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_task_py", "target": "crud_qc_task_refresh_work_order_item_flags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L978", "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": "L1017", "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": "L88", "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": "L91", "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": "L94", "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": "L219", "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": "L327", "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": "L376", "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": "L377", "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": "L404", "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": "L504", "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": "L505", "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": "L595", "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": "L596", "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": "L597", "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": "L612", "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": "L634", "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": "L635", "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": "L669", "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": "L670", "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": "L688", "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": "L728", "weight": 1.0}, {"source": "crud_qc_task_complete_task", "target": "crud_qc_task_require_dsfjc_attachments", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L739", "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": "L743", "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": "L795", "weight": 1.0}, {"source": "crud_qc_task_apply_task_result", "target": "crud_qc_task_resolve_task_result_conclusion", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L801", "weight": 1.0}, {"source": "crud_qc_task_apply_task_result", "target": "crud_qc_task_require_dsfjc_attachments", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L802", "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": "L814", "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": "L846", "weight": 1.0}, {"source": "crud_qc_task_delete_qc_task", "target": "crud_qc_task_soft_delete_source_line_for_task", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1044", "weight": 1.0}, {"source": "crud_qc_task_delete_qc_task", "target": "crud_qc_task_refresh_work_order_item_flags", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1062", "weight": 1.0}, {"source": "crud_qc_task_rationale_180", "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": "L180", "weight": 1.0}, {"source": "crud_qc_task_rationale_709", "target": "crud_qc_task_require_dsfjc_attachments", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L709", "weight": 1.0}, {"source": "crud_qc_task_rationale_767", "target": "crud_qc_task_resolve_task_result_conclusion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L767", "weight": 1.0}, {"source": "crud_qc_task_rationale_791", "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": "L791", "weight": 1.0}, {"source": "crud_qc_task_rationale_924", "target": "crud_qc_task_soft_delete_source_line_for_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L924", "weight": 1.0}, {"source": "crud_qc_task_rationale_986", "target": "crud_qc_task_refresh_work_order_item_flags", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L986", "weight": 1.0}, {"source": "crud_qc_task_rationale_1018", "target": "crud_qc_task_delete_qc_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1018", "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": "L43"}, {"caller_nid": "crud_qc_task_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L47"}, {"caller_nid": "crud_qc_task_conclusion_label", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L64"}, {"caller_nid": "crud_qc_task_conclusion_label", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L65"}, {"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": "L78"}, {"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": "L79"}, {"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": "L93"}, {"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": "L103"}, {"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": "L104"}, {"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": "L111"}, {"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": "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": "L114"}, {"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": "L115"}, {"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": "L116"}, {"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": "L123"}, {"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": "L126"}, {"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": "L187"}, {"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": "L199"}, {"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": "L199"}, {"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": "L211"}, {"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": "L217"}, {"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": "L217"}, {"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": "L228"}, {"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": "L228"}, {"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": "L233"}, {"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": "L233"}, {"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": "L233"}, {"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": "L234"}, {"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": "L239"}, {"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": "L244"}, {"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": "L251"}, {"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": "L251"}, {"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": "L251"}, {"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": "L252"}, {"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": "L259"}, {"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": "L259"}, {"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": "L259"}, {"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": "L261"}, {"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": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L269"}, {"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": "L269"}, {"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": "L269"}, {"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": "L269"}, {"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": "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": "L276"}, {"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": "L281"}, {"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": "L289"}, {"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": "L289"}, {"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": "L289"}, {"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": "L295"}, {"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": "L300"}, {"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": "L301"}, {"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": "L306"}, {"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": "L306"}, {"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": "L306"}, {"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": "L312"}, {"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": "L317"}, {"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": "L318"}, {"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": "L320"}, {"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": "L321"}, {"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": "L322"}, {"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": "L324"}, {"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": "L324"}, {"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": "L329"}, {"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": "L339"}, {"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": "L340"}, {"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": "L345"}, {"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": "L350"}, {"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": "L351"}, {"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": "L356"}, {"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": "L359"}, {"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": "L377"}, {"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": "L399"}, {"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": "L400"}, {"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": "L407"}, {"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": "L418"}, {"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": "L420"}, {"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": "L423"}, {"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": "L424"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L490"}, {"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": "L490"}, {"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": "L490"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L490"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L490"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L491"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L492"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L492"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L494"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L494"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L494"}, {"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": "L494"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L494"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L496"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L497"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L498"}, {"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": "L506"}, {"caller_nid": "crud_qc_task_list_tasks", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L506"}, {"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": "L581"}, {"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": "L581"}, {"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": "L581"}, {"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": "L581"}, {"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": "L581"}, {"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": "L582"}, {"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": "L583"}, {"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": "L583"}, {"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": "L585"}, {"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": "L585"}, {"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": "L585"}, {"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": "L585"}, {"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": "L585"}, {"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": "L587"}, {"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": "L588"}, {"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": "L589"}, {"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": "L598"}, {"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": "L598"}, {"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": "L604"}, {"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": "L605"}, {"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": "L609"}, {"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": "L612"}, {"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": "L618"}, {"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": "L618"}, {"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": "L618"}, {"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": "L623"}, {"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": "L623"}, {"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": "L623"}, {"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": "L623"}, {"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": "L623"}, {"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": "L626"}, {"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": "L631"}, {"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": "L631"}, {"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": "L636"}, {"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": "L639"}, {"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": "L639"}, {"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": "L641"}, {"caller_nid": "crud_qc_task_get_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L648"}, {"caller_nid": "crud_qc_task_get_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L648"}, {"caller_nid": "crud_qc_task_get_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L650"}, {"caller_nid": "crud_qc_task_get_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L651"}, {"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": "L656"}, {"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": "L656"}, {"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": "L656"}, {"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": "L656"}, {"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": "L667"}, {"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": "L671"}, {"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": "L674"}, {"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": "L675"}, {"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": "L676"}, {"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": "L678"}, {"caller_nid": "crud_qc_task_start_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L690"}, {"caller_nid": "crud_qc_task_start_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L692"}, {"caller_nid": "crud_qc_task_start_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L694"}, {"caller_nid": "crud_qc_task_start_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L697"}, {"caller_nid": "crud_qc_task_start_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L698"}, {"caller_nid": "crud_qc_task_start_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L699"}, {"caller_nid": "crud_qc_task_start_task", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L700"}, {"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": "L705"}, {"caller_nid": "crud_qc_task_require_dsfjc_attachments", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L710"}, {"caller_nid": "crud_qc_task_require_dsfjc_attachments", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L712"}, {"caller_nid": "crud_qc_task_require_dsfjc_attachments", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L714"}, {"caller_nid": "crud_qc_task_require_dsfjc_attachments", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L715"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L730"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L731"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L733"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L736"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L738"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L744"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L747"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L748"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L750"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L751"}, {"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": "L754"}, {"caller_nid": "crud_qc_task_complete_task", "callee": "flush", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L756"}, {"caller_nid": "crud_qc_task_resolve_task_result_conclusion", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L771"}, {"caller_nid": "crud_qc_task_resolve_task_result_conclusion", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L773"}, {"caller_nid": "crud_qc_task_resolve_task_result_conclusion", "callee": "ValueError", "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": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L797"}, {"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": "L798"}, {"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": "L800"}, {"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": "L804"}, {"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": "L812"}, {"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": "L817"}, {"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": "L819"}, {"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": "L824"}, {"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": "L826"}, {"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": "L827"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "try_complete_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L829"}, {"caller_nid": "crud_qc_task_apply_task_result", "callee": "try_reopen_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L831"}, {"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": "L833"}, {"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": "L848"}, {"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": "L849"}, {"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": "L857"}, {"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": "L858"}, {"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": "L860"}, {"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": "L861"}, {"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": "L863"}, {"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": "L885"}, {"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": "L885"}, {"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": "L887"}, {"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": "L887"}, {"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": "L887"}, {"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": "L889"}, {"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": "L893"}, {"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": "L894"}, {"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": "L911"}, {"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": "L912"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L925"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L928"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L932"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L932"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L932"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L942"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L942"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L942"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L952"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L952"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L952"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L962"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L962"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L962"}, {"caller_nid": "crud_qc_task_soft_delete_source_line_for_task", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L975"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L988"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L988"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L988"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L997"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L997"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L997"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "sum", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1008"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1008"}, {"caller_nid": "crud_qc_task_refresh_work_order_item_flags", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1014"}, {"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": "L1019"}, {"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": "L1019"}, {"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": "L1019"}, {"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": "L1020"}, {"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": "L1027"}, {"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": "L1030"}, {"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": "L1035"}, {"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": "L1035"}, {"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": "L1035"}, {"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": "L1036"}, {"caller_nid": "crud_qc_task_delete_qc_task", "callee": "soft_delete_assignees_by_task_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_task.py", "source_location": "L1049"}, {"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": "L1056"}, {"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": "L1060"}, {"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": "L1065"}, {"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": "L1067"}, {"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": "L1067"}, {"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": "L1067"}, {"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": "L1080"}, {"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": "L1082"}, {"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": "L1083"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/d232ec13eef069043d123f6c5d77b92c6a74f08f55d289c37cc70b29f1ad6e60.json b/backend/app/graphify-out/cache/ast/d232ec13eef069043d123f6c5d77b92c6a74f08f55d289c37cc70b29f1ad6e60.json new file mode 100644 index 00000000..d689f0b3 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/d232ec13eef069043d123f6c5d77b92c6a74f08f55d289c37cc70b29f1ad6e60.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "label": "qc.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1"}, {"id": "api_qc_thirdpartycompanybody", "label": "ThirdPartyCompanyBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L65"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_qc_thirdpartycompanyupdatebody", "label": "ThirdPartyCompanyUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L83"}, {"id": "api_qc_list_qc_third_party_companies", "label": "list_qc_third_party_companies()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L102"}, {"id": "api_qc_list_qc_third_party_company_options", "label": "list_qc_third_party_company_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L124"}, {"id": "api_qc_create_qc_third_party_company", "label": "create_qc_third_party_company()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L138"}, {"id": "api_qc_update_qc_third_party_company", "label": "update_qc_third_party_company()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L173"}, {"id": "api_qc_delete_qc_third_party_company", "label": "delete_qc_third_party_company()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L210"}, {"id": "api_qc_thirdpartyitembody", "label": "ThirdPartyItemBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L230"}, {"id": "api_qc_thirdpartyitemupdatebody", "label": "ThirdPartyItemUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L242"}, {"id": "api_qc_list_qc_third_party_items", "label": "list_qc_third_party_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L255"}, {"id": "api_qc_list_qc_third_party_items_active", "label": "list_qc_third_party_items_active()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L284"}, {"id": "api_qc_create_qc_third_party_item", "label": "create_qc_third_party_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L299"}, {"id": "api_qc_update_qc_third_party_item", "label": "update_qc_third_party_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L328"}, {"id": "api_qc_delete_qc_third_party_item", "label": "delete_qc_third_party_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L359"}, {"id": "api_qc_labtestitembody", "label": "LabTestItemBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L379"}, {"id": "api_qc_labtestitemupdatebody", "label": "LabTestItemUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L390"}, {"id": "api_qc_itemparambody", "label": "ItemParamBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L404"}, {"id": "api_qc_taskresultbody", "label": "TaskResultBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L409"}, {"id": "api_qc_taskcompletewithresultbody", "label": "TaskCompleteWithResultBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L414"}, {"id": "api_qc_list_qc_lab_test_items", "label": "list_qc_lab_test_items()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L425"}, {"id": "api_qc_list_qc_lab_test_items_active", "label": "list_qc_lab_test_items_active()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L447"}, {"id": "api_qc_create_qc_lab_test_item", "label": "create_qc_lab_test_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L461"}, {"id": "api_qc_update_qc_lab_test_item", "label": "update_qc_lab_test_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L489"}, {"id": "api_qc_delete_qc_lab_test_item", "label": "delete_qc_lab_test_item()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L519"}, {"id": "api_qc_list_item_params", "label": "list_item_params()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L540"}, {"id": "api_qc_save_item_params", "label": "save_item_params()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L556"}, {"id": "api_qc_workorderconfigurebatchitem", "label": "WorkOrderConfigureBatchItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L578"}, {"id": "api_qc_workorderconfigurebody", "label": "WorkOrderConfigureBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L590"}, {"id": "api_qc_create_qc_work_order", "label": "create_qc_work_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L605"}, {"id": "api_qc_list_qc_work_orders", "label": "list_qc_work_orders()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L644"}, {"id": "api_qc_qc_work_order_tab_unfinished_counts", "label": "qc_work_order_tab_unfinished_counts()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L689"}, {"id": "api_qc_qc_work_order_mine_tab_unfinished_counts", "label": "qc_work_order_mine_tab_unfinished_counts()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L706"}, {"id": "api_qc_list_qc_work_orders_by_sample", "label": "list_qc_work_orders_by_sample()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L725"}, {"id": "api_qc_get_qc_work_order_detail", "label": "get_qc_work_order_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L750"}, {"id": "api_qc_get_outbound_qc_detail", "label": "get_outbound_qc_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L769"}, {"id": "api_qc_update_qc_work_order", "label": "update_qc_work_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L788"}, {"id": "api_qc_delete_qc_work_order_api", "label": "delete_qc_work_order_api()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L818"}, {"id": "api_qc_inboundsamplespecialmarkbody", "label": "InboundSampleSpecialMarkBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L831"}, {"id": "api_qc_update_inbound_sample_special_mark", "label": "update_inbound_sample_special_mark()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L841"}, {"id": "api_qc_configure_qc_work_order", "label": "configure_qc_work_order()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L873"}, {"id": "api_qc_workorderinspectionbatchesbatchbody", "label": "WorkOrderInspectionBatchesBatchBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L904"}, {"id": "api_qc_batch_list_qc_work_order_inspection_batches", "label": "batch_list_qc_work_order_inspection_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L911"}, {"id": "api_qc_list_qc_work_order_inspection_batches", "label": "list_qc_work_order_inspection_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L931"}, {"id": "api_qc_taskattachmentsbody", "label": "TaskAttachmentsBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L953"}, {"id": "api_qc_create_qc_task", "label": "create_qc_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L960"}, {"id": "api_qc_list_my_qc_tasks", "label": "list_my_qc_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L992"}, {"id": "api_qc_list_qc_tasks", "label": "list_qc_tasks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1027"}, {"id": "api_qc_get_qc_task_detail", "label": "get_qc_task_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1060"}, {"id": "api_qc_start_qc_task", "label": "start_qc_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1078"}, {"id": "api_qc_complete_qc_task", "label": "complete_qc_task()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1097"}, {"id": "api_qc_get_task_results", "label": "get_task_results()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1117"}, {"id": "api_qc_list_qc_material_requisition_options", "label": "list_qc_material_requisition_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1132"}, {"id": "api_qc_get_task_material_usages", "label": "get_task_material_usages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1155"}, {"id": "api_qc_complete_task_with_result", "label": "complete_task_with_result()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1175"}, {"id": "api_qc_update_qc_task_attachments", "label": "update_qc_task_attachments()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1236"}, {"id": "api_qc_delete_qc_task_api", "label": "delete_qc_task_api()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1262"}, {"id": "api_qc_maybe_strip_qc_material_amount_fields", "label": "_maybe_strip_qc_material_amount_fields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1278"}, {"id": "api_qc_user_can_view_qc_material_amount", "label": "_user_can_view_qc_material_amount()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1286"}, {"id": "api_qc_strip_amount_from_write_data", "label": "_strip_amount_from_write_data()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1290"}, {"id": "api_qc_resolve_stock_in_amounts", "label": "_resolve_stock_in_amounts()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1297"}, {"id": "api_qc_maybe_strip_qc_third_party_fee_fields", "label": "_maybe_strip_qc_third_party_fee_fields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1305"}, {"id": "api_qc_maybe_strip_qc_material_stock_check_detail", "label": "_maybe_strip_qc_material_stock_check_detail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1329"}, {"id": "api_qc_qcmaterialbody", "label": "QcMaterialBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1338"}, {"id": "api_qc_qcmaterialupdatebody", "label": "QcMaterialUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1349"}, {"id": "api_qc_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1360"}, {"id": "api_qc_batchstockinitem", "label": "BatchStockInItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1375"}, {"id": "api_qc_batchstockinbody", "label": "BatchStockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1390"}, {"id": "api_qc_batchstockoutitem", "label": "BatchStockOutItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1397"}, {"id": "api_qc_batchstockoutbody", "label": "BatchStockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1404"}, {"id": "api_qc_batchdiscarditem", "label": "BatchDiscardItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1413"}, {"id": "api_qc_batchdiscardbody", "label": "BatchDiscardBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1421"}, {"id": "api_qc_qcmaterialbatchupdatebody", "label": "QcMaterialBatchUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1429"}, {"id": "api_qc_list_qc_material_batches", "label": "list_qc_material_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1452"}, {"id": "api_qc_qc_material_batch_options", "label": "qc_material_batch_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1482"}, {"id": "api_qc_get_qc_material_batch", "label": "get_qc_material_batch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1505"}, {"id": "api_qc_update_qc_material_batch", "label": "update_qc_material_batch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1522"}, {"id": "api_qc_delete_qc_material_batch", "label": "delete_qc_material_batch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1554"}, {"id": "api_qc_list_qc_materials", "label": "list_qc_materials()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1571"}, {"id": "api_qc_qc_material_options", "label": "qc_material_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1593"}, {"id": "api_qc_create_qc_material", "label": "create_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1605"}, {"id": "api_qc_update_qc_material", "label": "update_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1635"}, {"id": "api_qc_delete_qc_material", "label": "delete_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1664"}, {"id": "api_qc_batch_stock_in_qc_material", "label": "batch_stock_in_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1681"}, {"id": "api_qc_batch_stock_out_qc_material", "label": "batch_stock_out_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1738"}, {"id": "api_qc_batch_discard_qc_material", "label": "batch_discard_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1774"}, {"id": "api_qc_stock_in_qc_material", "label": "stock_in_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1816"}, {"id": "api_qc_batch_stock_in_qc_material_batches", "label": "batch_stock_in_qc_material_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1861"}, {"id": "api_qc_batch_stock_out_qc_material_batches", "label": "batch_stock_out_qc_material_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1871"}, {"id": "api_qc_batch_discard_qc_material_batches", "label": "batch_discard_qc_material_batches()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1881"}, {"id": "api_qc_list_qc_material_usages", "label": "list_qc_material_usages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1894"}, {"id": "api_qc_list_my_qc_material_usages", "label": "list_my_qc_material_usages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1924"}, {"id": "api_qc_list_qc_material_linked_task_usages", "label": "list_qc_material_linked_task_usages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1963"}, {"id": "api_qc_list_qc_material_stock_check_requisitions", "label": "list_qc_material_stock_check_requisitions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1993"}, {"id": "api_qc_mark_qc_material_usage_fully_used", "label": "mark_qc_material_usage_fully_used()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2020"}, {"id": "api_qc_stockcheckcreatebody", "label": "StockCheckCreateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2050"}, {"id": "api_qc_stockcheckunusedlineitem", "label": "StockCheckUnusedLineItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2057"}, {"id": "api_qc_stockcheckunusedlinesbody", "label": "StockCheckUnusedLinesBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2077"}, {"id": "api_qc_list_qc_material_stock_checks", "label": "list_qc_material_stock_checks()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2083"}, {"id": "api_qc_create_qc_material_stock_check", "label": "create_qc_material_stock_check()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2114"}, {"id": "api_qc_get_qc_material_stock_check", "label": "get_qc_material_stock_check()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2140"}, {"id": "api_qc_save_qc_material_stock_check_unused_lines", "label": "save_qc_material_stock_check_unused_lines()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2157"}, {"id": "api_qc_complete_qc_material_stock_check", "label": "complete_qc_material_stock_check()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2183"}, {"id": "api_qc_cancel_qc_material_stock_check", "label": "cancel_qc_material_stock_check()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2200"}, {"id": "api_qc_qcmaterialamountauthgrantbody", "label": "QcMaterialAmountAuthGrantBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2219"}, {"id": "api_qc_qcmaterialamountauthbatchbody", "label": "QcMaterialAmountAuthBatchBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2224"}, {"id": "api_qc_list_qc_material_amount_auth_users", "label": "list_qc_material_amount_auth_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2230"}, {"id": "api_qc_grant_qc_material_amount_auth", "label": "grant_qc_material_amount_auth()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2253"}, {"id": "api_qc_revoke_qc_material_amount_auth", "label": "revoke_qc_material_amount_auth()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2277"}, {"id": "api_qc_batch_revoke_qc_material_amount_auth", "label": "batch_revoke_qc_material_amount_auth()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2302"}, {"id": "api_qc_rationale_1", "label": "\u8d28\u91cf\u68c0\u6d4b \u2014 \u7b2c\u4e09\u65b9/\u5b9e\u9a8c\u5ba4\u4e3b\u6570\u636e\u3001\u8d28\u68c0\u5de5\u5355\u3001\u8d28\u68c0\u4efb\u52a1 API", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1"}, {"id": "api_qc_rationale_1866", "label": "\u6279\u91cf\u5165\u5e93\uff08\u4e0e /qc-materials/batch-stock-in \u7b49\u4ef7\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1866"}, {"id": "api_qc_rationale_1876", "label": "\u6279\u91cf\u51fa\u5e93\uff08\u4e0e /qc-materials/batch-stock-out \u7b49\u4ef7\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1876"}, {"id": "api_qc_rationale_1886", "label": "\u6279\u91cf\u5e9f\u5f03\uff08\u4e0e /qc-materials/batch-discard \u7b49\u4ef7\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1886"}, {"id": "api_qc_rationale_1936", "label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u7269\u6599\u9886\u7528\u8bb0\u5f55\uff08\u624b\u52a8\u51fa\u5e93\u9886\u7528\u4eba / \u4efb\u52a1\u4f7f\u7528\u586b\u62a5\u4eba\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1936"}, {"id": "api_qc_rationale_2000", "label": "\u76d8\u70b9\u767b\u8bb0\uff1a\u5f85\u5904\u7406\u9886\u7528\u8bb0\u5f55\uff08\u672a\u6807\u8bb0\u5df2\u4f7f\u7528\u5b8c\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2000"}, {"id": "api_qc_rationale_2027", "label": "\u6807\u8bb0\u9886\u7528\u8bb0\u5f55\u5df2\u4f7f\u7528\u5b8c\uff08\u76d8\u70b9\u767b\u8bb0 / \u53d8\u52a8\u8bb0\u5f55\uff09\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2027"}, {"id": "api_qc_rationale_2237", "label": "\u5df2\u6388\u6743\u300c\u8d28\u68c0\u7269\u6599\u91d1\u989d\u67e5\u770b\u300d\u89d2\u8272\u7684\u7528\u6237\u5217\u8868\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2237"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_core_qc_material_amount_auth_constants", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L39", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L40", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_crud_collection_protocol", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_api_sample_reception", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L42", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_schemas_qc_work_order", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "app_schemas_qc_task", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_thirdpartycompanybody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L65", "weight": 1.0}, {"source": "api_qc_thirdpartycompanybody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_thirdpartycompanyupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L83", "weight": 1.0}, {"source": "api_qc_thirdpartycompanyupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_third_party_companies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_third_party_company_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_third_party_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_third_party_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L173", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_third_party_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L210", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_thirdpartyitembody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L230", "weight": 1.0}, {"source": "api_qc_thirdpartyitembody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L230", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_thirdpartyitemupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L242", "weight": 1.0}, {"source": "api_qc_thirdpartyitemupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L242", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_third_party_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L255", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_third_party_items_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L284", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_third_party_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L299", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_third_party_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L328", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_third_party_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L359", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_labtestitembody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L379", "weight": 1.0}, {"source": "api_qc_labtestitembody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L379", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_labtestitemupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L390", "weight": 1.0}, {"source": "api_qc_labtestitemupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_itemparambody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L404", "weight": 1.0}, {"source": "api_qc_itemparambody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L404", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_taskresultbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L409", "weight": 1.0}, {"source": "api_qc_taskresultbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_taskcompletewithresultbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L414", "weight": 1.0}, {"source": "api_qc_taskcompletewithresultbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L414", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_lab_test_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L425", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_lab_test_items_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_lab_test_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L461", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_lab_test_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L489", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_lab_test_item", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L519", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_item_params", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L540", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_save_item_params", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L556", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_workorderconfigurebatchitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L578", "weight": 1.0}, {"source": "api_qc_workorderconfigurebatchitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L578", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_workorderconfigurebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L590", "weight": 1.0}, {"source": "api_qc_workorderconfigurebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L590", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_work_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L605", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_work_orders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L644", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qc_work_order_tab_unfinished_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L689", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qc_work_order_mine_tab_unfinished_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_work_orders_by_sample", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L725", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_qc_work_order_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L750", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_outbound_qc_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_work_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L788", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_work_order_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L818", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_inboundsamplespecialmarkbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L831", "weight": 1.0}, {"source": "api_qc_inboundsamplespecialmarkbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L831", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_inbound_sample_special_mark", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L841", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_configure_qc_work_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L873", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_workorderinspectionbatchesbatchbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L904", "weight": 1.0}, {"source": "api_qc_workorderinspectionbatchesbatchbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L904", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_list_qc_work_order_inspection_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L911", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_work_order_inspection_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L931", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_taskattachmentsbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L953", "weight": 1.0}, {"source": "api_qc_taskattachmentsbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L953", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L960", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_my_qc_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L992", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1027", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_qc_task_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1060", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_start_qc_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1078", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_complete_qc_task", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1097", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_task_results", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_requisition_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1132", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_task_material_usages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_complete_task_with_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1175", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_task_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1236", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_task_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1278", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_user_can_view_qc_material_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_strip_amount_from_write_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1290", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_resolve_stock_in_amounts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1297", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_maybe_strip_qc_third_party_fee_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1305", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_maybe_strip_qc_material_stock_check_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1329", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qcmaterialbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1338", "weight": 1.0}, {"source": "api_qc_qcmaterialbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1338", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qcmaterialupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1349", "weight": 1.0}, {"source": "api_qc_qcmaterialupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1349", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stockinbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1360", "weight": 1.0}, {"source": "api_qc_stockinbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1360", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batchstockinitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1375", "weight": 1.0}, {"source": "api_qc_batchstockinitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1375", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batchstockinbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1390", "weight": 1.0}, {"source": "api_qc_batchstockinbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batchstockoutitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1397", "weight": 1.0}, {"source": "api_qc_batchstockoutitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1397", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batchstockoutbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1404", "weight": 1.0}, {"source": "api_qc_batchstockoutbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1404", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batchdiscarditem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1413", "weight": 1.0}, {"source": "api_qc_batchdiscarditem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1413", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batchdiscardbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1421", "weight": 1.0}, {"source": "api_qc_batchdiscardbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qcmaterialbatchupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1429", "weight": 1.0}, {"source": "api_qc_qcmaterialbatchupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1429", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1452", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qc_material_batch_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1482", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_qc_material_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1505", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_material_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1522", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_material_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1554", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_materials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1571", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qc_material_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1593", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1605", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_update_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1635", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_delete_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1664", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_stock_in_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1681", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_stock_out_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1738", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_discard_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1774", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stock_in_qc_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1816", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_stock_in_qc_material_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1861", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_stock_out_qc_material_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1871", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_discard_qc_material_batches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_usages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1894", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_my_qc_material_usages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1924", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_linked_task_usages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1963", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_stock_check_requisitions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1993", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_mark_qc_material_usage_fully_used", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2020", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stockcheckcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2050", "weight": 1.0}, {"source": "api_qc_stockcheckcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2050", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stockcheckunusedlineitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2057", "weight": 1.0}, {"source": "api_qc_stockcheckunusedlineitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2057", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stockcheckunusedlinesbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2077", "weight": 1.0}, {"source": "api_qc_stockcheckunusedlinesbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2077", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_stock_checks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2083", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_create_qc_material_stock_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2114", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_get_qc_material_stock_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2140", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_save_qc_material_stock_check_unused_lines", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2157", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_complete_qc_material_stock_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_cancel_qc_material_stock_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2200", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qcmaterialamountauthgrantbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2219", "weight": 1.0}, {"source": "api_qc_qcmaterialamountauthgrantbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2219", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_qcmaterialamountauthbatchbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2224", "weight": 1.0}, {"source": "api_qc_qcmaterialamountauthbatchbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2224", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_list_qc_material_amount_auth_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2230", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_grant_qc_material_amount_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2253", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_revoke_qc_material_amount_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_batch_revoke_qc_material_amount_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2302", "weight": 1.0}, {"source": "api_qc_get_qc_work_order_detail", "target": "api_qc_maybe_strip_qc_third_party_fee_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L758", "weight": 1.0}, {"source": "api_qc_get_outbound_qc_detail", "target": "api_qc_maybe_strip_qc_third_party_fee_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L777", "weight": 1.0}, {"source": "api_qc_strip_amount_from_write_data", "target": "api_qc_user_can_view_qc_material_amount", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1291", "weight": 1.0}, {"source": "api_qc_resolve_stock_in_amounts", "target": "api_qc_user_can_view_qc_material_amount", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1300", "weight": 1.0}, {"source": "api_qc_list_qc_material_batches", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1473", "weight": 1.0}, {"source": "api_qc_qc_material_batch_options", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1498", "weight": 1.0}, {"source": "api_qc_get_qc_material_batch", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1513", "weight": 1.0}, {"source": "api_qc_update_qc_material_batch", "target": "api_qc_strip_amount_from_write_data", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1532", "weight": 1.0}, {"source": "api_qc_update_qc_material_batch", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1542", "weight": 1.0}, {"source": "api_qc_batch_stock_in_qc_material", "target": "api_qc_resolve_stock_in_amounts", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1697", "weight": 1.0}, {"source": "api_qc_stock_in_qc_material", "target": "api_qc_resolve_stock_in_amounts", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1833", "weight": 1.0}, {"source": "api_qc_batch_stock_in_qc_material_batches", "target": "api_qc_batch_stock_in_qc_material", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1867", "weight": 1.0}, {"source": "api_qc_batch_stock_out_qc_material_batches", "target": "api_qc_batch_stock_out_qc_material", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1877", "weight": 1.0}, {"source": "api_qc_batch_discard_qc_material_batches", "target": "api_qc_batch_discard_qc_material", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1887", "weight": 1.0}, {"source": "api_qc_list_qc_material_usages", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1915", "weight": 1.0}, {"source": "api_qc_list_qc_material_stock_check_requisitions", "target": "api_qc_maybe_strip_qc_material_amount_fields", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2011", "weight": 1.0}, {"source": "api_qc_get_qc_material_stock_check", "target": "api_qc_maybe_strip_qc_material_stock_check_detail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2148", "weight": 1.0}, {"source": "api_qc_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1", "weight": 1.0}, {"source": "api_qc_rationale_1866", "target": "api_qc_batch_stock_in_qc_material_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1866", "weight": 1.0}, {"source": "api_qc_rationale_1876", "target": "api_qc_batch_stock_out_qc_material_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1876", "weight": 1.0}, {"source": "api_qc_rationale_1886", "target": "api_qc_batch_discard_qc_material_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1886", "weight": 1.0}, {"source": "api_qc_rationale_1936", "target": "api_qc_list_my_qc_material_usages", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1936", "weight": 1.0}, {"source": "api_qc_rationale_2000", "target": "api_qc_list_qc_material_stock_check_requisitions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2000", "weight": 1.0}, {"source": "api_qc_rationale_2027", "target": "api_qc_mark_qc_material_usage_fully_used", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2027", "weight": 1.0}, {"source": "api_qc_rationale_2237", "target": "api_qc_list_qc_material_amount_auth_users", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2237", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L111"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "list_companies", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L112"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L116"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L116"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L118"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L118"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L120"}, {"caller_nid": "api_qc_list_qc_third_party_companies", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L120"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L129"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L130"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "list_company_options", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L130"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L132"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L132"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L134"}, {"caller_nid": "api_qc_list_qc_third_party_company_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L134"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L144"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "create_company", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L145"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L161"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L163"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L163"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L165"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L165"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L167"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L167"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L169"}, {"caller_nid": "api_qc_create_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L169"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L180"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "update_company", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L181"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L197"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L200"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L200"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L202"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L202"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L204"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L204"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L206"}, {"caller_nid": "api_qc_update_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L206"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L216"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "soft_delete_company", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L217"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L218"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L220"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L220"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L222"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L222"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L224"}, {"caller_nid": "api_qc_delete_qc_third_party_company", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L224"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L265"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "list_items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L266"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L276"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L276"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L278"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L278"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L280"}, {"caller_nid": "api_qc_list_qc_third_party_items", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L280"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L290"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L291"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "list_active_items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L291"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L293"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L293"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L295"}, {"caller_nid": "api_qc_list_qc_third_party_items_active", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L295"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L305"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "create_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L306"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L316"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L318"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L318"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L320"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L320"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L322"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L322"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L324"}, {"caller_nid": "api_qc_create_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L324"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L335"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "update_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L336"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L346"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L349"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L349"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L351"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L351"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L353"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L353"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L355"}, {"caller_nid": "api_qc_update_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L355"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L365"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "soft_delete_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L366"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L367"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L369"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L369"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L371"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L371"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L373"}, {"caller_nid": "api_qc_delete_qc_third_party_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L373"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L434"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "list_lab_items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L435"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L439"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L439"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L441"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L441"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L443"}, {"caller_nid": "api_qc_list_qc_lab_test_items", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L443"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L452"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L453"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "list_active_lab_items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L453"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L455"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L455"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L457"}, {"caller_nid": "api_qc_list_qc_lab_test_items_active", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L457"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L467"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "create_lab_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L468"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L477"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L479"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L479"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L481"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L481"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L483"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L483"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L485"}, {"caller_nid": "api_qc_create_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L485"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L496"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "update_lab_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L497"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L506"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L509"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L509"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L511"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L511"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L513"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L513"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L515"}, {"caller_nid": "api_qc_update_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L515"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L525"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "soft_delete_lab_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L526"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L527"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L529"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L529"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L531"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L531"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L533"}, {"caller_nid": "api_qc_delete_qc_lab_test_item", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L533"}, {"caller_nid": "api_qc_list_item_params", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L547"}, {"caller_nid": "api_qc_list_item_params", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L548"}, {"caller_nid": "api_qc_list_item_params", "callee": "list_params_by_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L548"}, {"caller_nid": "api_qc_list_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L550"}, {"caller_nid": "api_qc_list_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L550"}, {"caller_nid": "api_qc_list_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L552"}, {"caller_nid": "api_qc_list_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L552"}, {"caller_nid": "api_qc_save_item_params", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L564"}, {"caller_nid": "api_qc_save_item_params", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L565"}, {"caller_nid": "api_qc_save_item_params", "callee": "save_params_for_item", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L566"}, {"caller_nid": "api_qc_save_item_params", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L566"}, {"caller_nid": "api_qc_save_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L570"}, {"caller_nid": "api_qc_save_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L570"}, {"caller_nid": "api_qc_save_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L572"}, {"caller_nid": "api_qc_save_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L572"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L611"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L612"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "create_temp_qc_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L614"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L617"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L618"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "create_qc_work_order_manual", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L623"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L626"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L627"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L634"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L635"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "_wo_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L635"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L637"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L637"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L639"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L640"}, {"caller_nid": "api_qc_create_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L640"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L662"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "list_work_orders", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L663"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L681"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L681"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L683"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L683"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L685"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L685"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L694"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "count_unfinished_work_orders_by_tab", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L695"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L698"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L700"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L700"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L702"}, {"caller_nid": "api_qc_qc_work_order_tab_unfinished_counts", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L702"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L711"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "count_mine_unfinished_work_orders_by_tab", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L712"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L715"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L717"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L719"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L719"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L721"}, {"caller_nid": "api_qc_qc_work_order_mine_tab_unfinished_counts", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L721"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L734"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "list_work_orders_by_sample", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L735"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L742"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L744"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L744"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L746"}, {"caller_nid": "api_qc_list_qc_work_orders_by_sample", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L746"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L756"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "get_work_order_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L757"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L759"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L761"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L761"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L763"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L763"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L765"}, {"caller_nid": "api_qc_get_qc_work_order_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L765"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L775"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L778"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L780"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L780"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L782"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L782"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L784"}, {"caller_nid": "api_qc_get_outbound_qc_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L784"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L795"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L800"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L805"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L806"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "_wo_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L806"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L808"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L808"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L810"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L811"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L811"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L813"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L814"}, {"caller_nid": "api_qc_update_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L814"}, {"caller_nid": "api_qc_delete_qc_work_order_api", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L824"}, {"caller_nid": "api_qc_delete_qc_work_order_api", "callee": "delete_qc_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L825"}, {"caller_nid": "api_qc_delete_qc_work_order_api", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L825"}, {"caller_nid": "api_qc_delete_qc_work_order_api", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L826"}, {"caller_nid": "api_qc_delete_qc_work_order_api", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L828"}, {"caller_nid": "api_qc_delete_qc_work_order_api", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L828"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L849"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L850"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L852"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L860"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L862"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L863"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L865"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L866"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L866"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L868"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L869"}, {"caller_nid": "api_qc_update_inbound_sample_special_mark", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L869"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L880"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "configure_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L881"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L890"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L892"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L893"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L895"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "_wo_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L895"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L897"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L897"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L899"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L899"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L901"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L901"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L917"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "list_inspection_batches_by_work_order_ids", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L920"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L923"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L925"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L925"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L927"}, {"caller_nid": "api_qc_batch_list_qc_work_order_inspection_batches", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L927"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L937"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "get_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L940"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L942"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L943"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "list_inspection_batches", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L943"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L945"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L945"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L947"}, {"caller_nid": "api_qc_list_qc_work_order_inspection_batches", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L947"}, {"caller_nid": "api_qc_create_qc_task", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L966"}, {"caller_nid": "api_qc_create_qc_task", "callee": "create_qc_task_manual", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L967"}, {"caller_nid": "api_qc_create_qc_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L970"}, {"caller_nid": "api_qc_create_qc_task", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L971"}, {"caller_nid": "api_qc_create_qc_task", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L982"}, {"caller_nid": "api_qc_create_qc_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L983"}, {"caller_nid": "api_qc_create_qc_task", "callee": "_task_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L983"}, {"caller_nid": "api_qc_create_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L985"}, {"caller_nid": "api_qc_create_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L985"}, {"caller_nid": "api_qc_create_qc_task", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L987"}, {"caller_nid": "api_qc_create_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L988"}, {"caller_nid": "api_qc_create_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L988"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1005"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "list_mine_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1006"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1008"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1019"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1019"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1021"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1021"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1023"}, {"caller_nid": "api_qc_list_my_qc_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1023"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1039"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1040"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1052"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1052"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1054"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1054"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1056"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1056"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1066"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "get_task_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1067"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1068"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1070"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1070"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1072"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1072"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1074"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1074"}, {"caller_nid": "api_qc_start_qc_task", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1085"}, {"caller_nid": "api_qc_start_qc_task", "callee": "start_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1086"}, {"caller_nid": "api_qc_start_qc_task", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1086"}, {"caller_nid": "api_qc_start_qc_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1087"}, {"caller_nid": "api_qc_start_qc_task", "callee": "_task_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1087"}, {"caller_nid": "api_qc_start_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1089"}, {"caller_nid": "api_qc_start_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1089"}, {"caller_nid": "api_qc_start_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1091"}, {"caller_nid": "api_qc_start_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1091"}, {"caller_nid": "api_qc_start_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1093"}, {"caller_nid": "api_qc_start_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1093"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1103"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1104"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1105"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1107"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "_task_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1107"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1109"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1109"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1111"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1111"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1113"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1113"}, {"caller_nid": "api_qc_get_task_results", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1123"}, {"caller_nid": "api_qc_get_task_results", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1124"}, {"caller_nid": "api_qc_get_task_results", "callee": "list_results_by_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1124"}, {"caller_nid": "api_qc_get_task_results", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1126"}, {"caller_nid": "api_qc_get_task_results", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1126"}, {"caller_nid": "api_qc_get_task_results", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1128"}, {"caller_nid": "api_qc_get_task_results", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1128"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1139"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "list_requisition_options", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1140"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1147"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1149"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1149"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1151"}, {"caller_nid": "api_qc_list_qc_material_requisition_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1151"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1161"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "get_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1162"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1164"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1165"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "list_usages_by_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1166"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1169"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1169"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1171"}, {"caller_nid": "api_qc_get_task_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1171"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1183"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1184"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "get_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1185"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1187"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1188"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "save_results_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1190"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "update_task_attachments", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1194"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "apply_task_result", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1198"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1209"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1210"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1211"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "try_complete_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1212"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "try_reopen_work_order", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1214"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1215"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "_task_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1216"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1220"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1222"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1222"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1223"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1225"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1226"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1226"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1228"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1229"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1229"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1231"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1232"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1232"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1244"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "update_task_attachments", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1245"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1250"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1252"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "_task_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1252"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1254"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1254"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1256"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1256"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1258"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1258"}, {"caller_nid": "api_qc_delete_qc_task_api", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1268"}, {"caller_nid": "api_qc_delete_qc_task_api", "callee": "delete_qc_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1269"}, {"caller_nid": "api_qc_delete_qc_task_api", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1269"}, {"caller_nid": "api_qc_delete_qc_task_api", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1270"}, {"caller_nid": "api_qc_delete_qc_task_api", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1272"}, {"caller_nid": "api_qc_delete_qc_task_api", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1272"}, {"caller_nid": "api_qc_maybe_strip_qc_material_amount_fields", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1281"}, {"caller_nid": "api_qc_maybe_strip_qc_material_amount_fields", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1283"}, {"caller_nid": "api_qc_user_can_view_qc_material_amount", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1287"}, {"caller_nid": "api_qc_strip_amount_from_write_data", "callee": "pop", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1294"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1308"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1310"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1311"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1312"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1313"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1314"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1315"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1317"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1317"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1317"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1318"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1319"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1320"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1321"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1322"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1323"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1325"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1325"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1325"}, {"caller_nid": "api_qc_maybe_strip_qc_third_party_fee_fields", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1326"}, {"caller_nid": "api_qc_maybe_strip_qc_material_stock_check_detail", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1330"}, {"caller_nid": "api_qc_maybe_strip_qc_material_stock_check_detail", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1333"}, {"caller_nid": "api_qc_maybe_strip_qc_material_stock_check_detail", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1334"}, {"caller_nid": "api_qc_maybe_strip_qc_material_stock_check_detail", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1335"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1462"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "list_batches", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1463"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1474"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1474"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1476"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1476"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1478"}, {"caller_nid": "api_qc_list_qc_material_batches", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1478"}, {"caller_nid": "api_qc_qc_material_batch_options", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1490"}, {"caller_nid": "api_qc_qc_material_batch_options", "callee": "batch_options", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1491"}, {"caller_nid": "api_qc_qc_material_batch_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1499"}, {"caller_nid": "api_qc_qc_material_batch_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1501"}, {"caller_nid": "api_qc_qc_material_batch_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1501"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1511"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "get_batch_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1512"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1514"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1516"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1516"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1518"}, {"caller_nid": "api_qc_get_qc_material_batch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1518"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1529"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1530"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1531"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "update_batch", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1533"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "get_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1540"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "_batch_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1541"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1543"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1548"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1548"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1550"}, {"caller_nid": "api_qc_update_qc_material_batch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1550"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1560"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1561"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "delete_batch", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1562"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1563"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1565"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1565"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1567"}, {"caller_nid": "api_qc_delete_qc_material_batch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1567"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1580"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "list_materials", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1581"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1585"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1585"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1587"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1587"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1589"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1589"}, {"caller_nid": "api_qc_qc_material_options", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1598"}, {"caller_nid": "api_qc_qc_material_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1599"}, {"caller_nid": "api_qc_qc_material_options", "callee": "options_list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1599"}, {"caller_nid": "api_qc_qc_material_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1601"}, {"caller_nid": "api_qc_qc_material_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1601"}, {"caller_nid": "api_qc_create_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1611"}, {"caller_nid": "api_qc_create_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1612"}, {"caller_nid": "api_qc_create_qc_material", "callee": "create_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1613"}, {"caller_nid": "api_qc_create_qc_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1619"}, {"caller_nid": "api_qc_create_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1619"}, {"caller_nid": "api_qc_create_qc_material", "callee": "_norm_status", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1622"}, {"caller_nid": "api_qc_create_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1627"}, {"caller_nid": "api_qc_create_qc_material", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1627"}, {"caller_nid": "api_qc_create_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1629"}, {"caller_nid": "api_qc_create_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1629"}, {"caller_nid": "api_qc_create_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1631"}, {"caller_nid": "api_qc_create_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1631"}, {"caller_nid": "api_qc_update_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1642"}, {"caller_nid": "api_qc_update_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1643"}, {"caller_nid": "api_qc_update_qc_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1644"}, {"caller_nid": "api_qc_update_qc_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1646"}, {"caller_nid": "api_qc_update_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1646"}, {"caller_nid": "api_qc_update_qc_material", "callee": "_norm_status", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1648"}, {"caller_nid": "api_qc_update_qc_material", "callee": "update_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1649"}, {"caller_nid": "api_qc_update_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1656"}, {"caller_nid": "api_qc_update_qc_material", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1656"}, {"caller_nid": "api_qc_update_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1658"}, {"caller_nid": "api_qc_update_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1658"}, {"caller_nid": "api_qc_update_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1660"}, {"caller_nid": "api_qc_update_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1660"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1670"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1671"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "soft_delete_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1672"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1673"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1675"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1675"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1677"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1677"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1687"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1688"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1689"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1691"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1693"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1700"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "batch_stock_in", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1722"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1730"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1732"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1732"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1734"}, {"caller_nid": "api_qc_batch_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1734"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1744"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1745"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1746"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1748"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1750"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "batch_stock_out", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1756"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1766"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1768"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1768"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1770"}, {"caller_nid": "api_qc_batch_stock_out_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1770"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1780"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1781"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1782"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1784"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1786"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "batch_discard", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1799"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1808"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1810"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1810"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1812"}, {"caller_nid": "api_qc_batch_discard_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1812"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1823"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1824"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1825"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1827"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1829"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "stock_in_one", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1836"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1847"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1847"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1853"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "_batch_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1853"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1855"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1855"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1857"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1857"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1907"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "list_usages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1908"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1916"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1916"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1918"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1918"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1920"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1920"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1938"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "list_my_usages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1939"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1942"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1943"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1943"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1953"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1954"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1955"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1955"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1957"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1957"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1959"}, {"caller_nid": "api_qc_list_my_qc_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1959"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1972"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "list_linked_task_usages", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1973"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1977"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "user_has_menu_perm", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1978"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "strip_row_fields", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1980"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1981"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1984"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1984"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1985"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1987"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1987"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1989"}, {"caller_nid": "api_qc_list_qc_material_linked_task_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1989"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2002"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "list_stock_check_requisitions", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2003"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2012"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2012"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2014"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2014"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2016"}, {"caller_nid": "api_qc_list_qc_material_stock_check_requisitions", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2016"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2029"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2030"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "mark_requisition_fully_used", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2031"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2038"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2040"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2040"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2042"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2042"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2044"}, {"caller_nid": "api_qc_mark_qc_material_usage_fully_used", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2044"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2094"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "list_checks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2095"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2106"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2106"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2108"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2108"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2110"}, {"caller_nid": "api_qc_list_qc_material_stock_checks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2110"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2120"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2121"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2122"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2122"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "create_check", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2123"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2132"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2134"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2134"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2136"}, {"caller_nid": "api_qc_create_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2136"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2146"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "get_check_detail", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2147"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2149"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2151"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2151"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2153"}, {"caller_nid": "api_qc_get_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2153"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2164"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2165"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2166"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2166"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "save_unused_lines", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2167"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2170"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2175"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2177"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2177"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2179"}, {"caller_nid": "api_qc_save_qc_material_stock_check_unused_lines", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2179"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2189"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2190"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "complete_check", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2191"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2192"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2194"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2194"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2196"}, {"caller_nid": "api_qc_complete_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2196"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2206"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2207"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "cancel_check", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2208"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2209"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2211"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2211"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2213"}, {"caller_nid": "api_qc_cancel_qc_material_stock_check", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2213"}, {"caller_nid": "api_qc_list_qc_material_amount_auth_users", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2239"}, {"caller_nid": "api_qc_list_qc_material_amount_auth_users", "callee": "list_authorized_users", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2240"}, {"caller_nid": "api_qc_list_qc_material_amount_auth_users", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2247"}, {"caller_nid": "api_qc_list_qc_material_amount_auth_users", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2247"}, {"caller_nid": "api_qc_list_qc_material_amount_auth_users", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2249"}, {"caller_nid": "api_qc_list_qc_material_amount_auth_users", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2249"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2260"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2261"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "grant_amount_view_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2262"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2265"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2269"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2271"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2271"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2273"}, {"caller_nid": "api_qc_grant_qc_material_amount_auth", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2273"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2284"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2285"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "revoke_amount_view_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2286"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2289"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2293"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2294"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2296"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2296"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2298"}, {"caller_nid": "api_qc_revoke_qc_material_amount_auth", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2298"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2309"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2310"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2313"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "revoke_amount_view_role", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2316"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2323"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2325"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2325"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2327"}, {"caller_nid": "api_qc_batch_revoke_qc_material_amount_auth", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L2327"}]} \ No newline at end of file diff --git a/backend/graphify-out/.graphify_analysis.json b/backend/graphify-out/.graphify_analysis.json index 48dc1d42..bf08df6e 100644 --- a/backend/graphify-out/.graphify_analysis.json +++ b/backend/graphify-out/.graphify_analysis.json @@ -40,6 +40,7 @@ "api_admin_list_posts", "api_admin_list_role_management", "api_admin_list_roles_for_designer", + "api_admin_list_roles_for_select", "api_admin_list_sites", "api_admin_list_tenants", "api_admin_list_users", @@ -151,6 +152,7 @@ "api_collection_protocol_list_refund_confirmed", "api_collection_protocol_list_storage_certs", "api_collection_protocol_parse_datetime_fields", + "api_collection_protocol_persist_protocol_sub_resources", "api_collection_protocol_post_protocol_invoice_request", "api_collection_protocol_post_receipt_confirm", "api_collection_protocol_post_receipt_reject", @@ -185,6 +187,7 @@ "api_env_detect_parse_detect_date", "api_env_detect_parse_detect_date_bound", "api_env_detect_py", + "api_env_detect_rationale_1", "api_env_detect_update_env_detect_item", "api_env_detect_update_env_detect_record", "api_insurance_company_create_insurance_company", @@ -306,6 +309,7 @@ "api_operations_list_occupancy_history", "api_operations_list_storage_facilities", "api_operations_list_storage_slot_select_options", + "api_operations_list_storage_slot_stats", "api_operations_list_storage_slots", "api_operations_list_uv_disinfect_logs", "api_operations_normalize_visit_date_bound", @@ -757,25 +761,11 @@ "api_qc_update_qc_third_party_item", "api_qc_update_qc_work_order", "api_qc_user_can_view_qc_material_amount", - "api_research_donation_batch_delete_research_donations", - "api_research_donation_change_donation_status", - "api_research_donation_convert_from_storage", - "api_research_donation_convert_to_storage", - "api_research_donation_create_research_donation", - "api_research_donation_delete_research_donation", - "api_research_donation_get_current_user_id", - "api_research_donation_get_research_donation_detail", - "api_research_donation_get_tenant_no", - "api_research_donation_list_research_donation_audits", - "api_research_donation_list_research_donations", - "api_research_donation_next_research_donation_sample_code", - "api_research_donation_py", "api_research_donation_sample_collection_get_tenant_no", "api_research_donation_sample_collection_list_donation_sample_collections", "api_research_donation_sample_collection_page_payload", "api_research_donation_sample_collection_py", "api_research_donation_submit_donation_audit", - "api_research_donation_update_research_donation", "api_sample_reception_allocate_lab_storage_codes", "api_sample_reception_create_check_item", "api_sample_reception_delete_check_item", @@ -791,6 +781,7 @@ "api_sample_reception_post_sample_reception", "api_sample_reception_put_sample_reception", "api_sample_reception_py", + "api_sample_reception_rationale_272", "api_sample_reception_update_check_item", "api_sample_sms_notification_generate_sms", "api_sample_sms_notification_get_current_user_id", @@ -856,10 +847,10 @@ "core_response_rationale_40", "core_response_success_response", "core_utils_parse_datetime", - "crud_base_crudbase_count", "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", @@ -881,83 +872,76 @@ "crud_collection_protocol_no_enrich_issued_user_names", "crud_collection_protocol_save_sample_transports", "crud_collection_protocol_upsert_fullmoon_todo", - "crud_collection_region_get_hospital", - "crud_collection_region_hospital_names_by_region_ids", - "crud_collection_region_list_collection_regions", - "crud_collection_region_rationale_29", "crud_collection_region_region_to_dict", - "crud_collection_region_soft_delete_hospital", "crud_exhibition_appointment_total_pages", "crud_leave_update_leave_status", - "crud_material_stock_check_batch_line_to_dict", - "crud_material_stock_check_cancel_check", - "crud_material_stock_check_check_header_to_dict", - "crud_material_stock_check_complete_check", "crud_material_stock_check_create_check", - "crud_material_stock_check_get_check", - "crud_material_stock_check_get_check_detail", - "crud_material_stock_check_line_counts", - "crud_material_stock_check_list_checks", "crud_material_stock_check_parse_check_time", "crud_material_stock_check_parse_optional_date", - "crud_material_stock_check_py", "crud_material_stock_check_save_unused_lines", - "crud_material_stock_check_status_label", - "crud_material_stock_check_unused_amount", - "crud_material_stock_check_unused_line_to_dict", - "crud_material_stock_check_user_nick_name_map", + "crud_oa_approval_delete_role", + "crud_oa_approval_get_role", "crud_oa_approval_group_to_dict", "crud_oa_approval_list_groups", "crud_oa_approval_list_role_users", "crud_oa_approval_list_roles", "crud_oa_approval_member_count_map", "crud_oa_approval_role_to_dict", + "crud_oa_approval_update_role", "crud_pilot_application_auto_generate_schedules", "crud_pilot_application_create_application", "crud_pilot_application_resolve_application_attachment_payload", - "crud_pilot_application_save_patient", "crud_pilot_application_update_application", - "crud_pilot_checkup_get_checkup_by_application", "crud_pilot_delivery_save_delivery_materials", "crud_pilot_delivery_save_delivery_method", "crud_pilot_service_enrich_finance_operate_fields", - "crud_pilot_service_list_cell_product_prices", - "crud_pilot_service_list_channels", "crud_pilot_service_list_checkup_institutions", - "crud_pilot_service_list_project_systems", "crud_pilot_service_normalize_txn_product_item", - "crud_pilot_service_row_to_dict_cell_product_price", - "crud_pilot_service_row_to_dict_channel", + "crud_pilot_service_row_to_dict_cell_product_type", "crud_pilot_service_row_to_dict_channel_agreement", + "crud_pilot_service_row_to_dict_channel_agreement_price", "crud_pilot_service_row_to_dict_channel_invoice", "crud_pilot_service_row_to_dict_channel_mail_address", "crud_pilot_service_row_to_dict_checkup_institution", "crud_pilot_service_row_to_dict_checkup_institution_invoice", "crud_pilot_service_row_to_dict_checkup_institution_project", - "crud_pilot_service_row_to_dict_project_system", "crud_pilot_service_row_to_dict_project_system_item", "crud_pilot_service_row_to_dict_service_order", "crud_pilot_service_row_to_dict_service_order_txn", "crud_pilot_service_service_order_txn_to_response_dict", - "crud_process_route_list_routes", - "crud_process_route_route_row_to_dict", "crud_process_route_update_step", "crud_production_task_build_process_library_for_editor", + "crud_production_task_dispatch_task_steps", + "crud_production_task_enrich_assignee_names", + "crud_production_task_enrich_tasks_with_step_summaries", "crud_production_task_get_production_task_editor_init", "crud_production_task_update_task_step", "crud_qc_material_batch_stock_in", "crud_qc_material_batch_stock_out", + "crud_qc_material_build_manual_out_remark", + "crud_qc_material_code_exists", + "crud_qc_material_dec", + "crud_qc_material_fmt_dt", + "crud_qc_material_get_material", + "crud_qc_material_list_materials", + "crud_qc_material_norm_status", + "crud_qc_material_options_list", + "crud_qc_material_py", + "crud_qc_material_rationale_26", "crud_qc_material_rationale_345", "crud_qc_material_rationale_492", + "crud_qc_material_row_to_dict", + "crud_qc_material_soft_delete_material", "crud_qc_material_stock_batch_batch_discard", + "crud_qc_material_stock_batch_batch_options", "crud_qc_material_stock_batch_batch_row_to_dict", + "crud_qc_material_stock_batch_fmt_date", "crud_qc_material_stock_batch_list_batches", - "crud_qc_material_stock_out", + "crud_qc_material_total_pages", + "crud_qc_material_update_material", "crud_qc_material_usage_mark_requisition_fully_used", "crud_qc_work_order_create_outbound_qc_work_order", "crud_qc_work_order_resolve_outbound_biz_type_for_schedule", - "crud_research_donation_batch_delete_donations", - "crud_research_donation_change_status", "crud_workflow_get_all_tasks_for_business", "schemas_order_adjust_adjuststatus", "schemas_order_adjust_adjusttype", @@ -968,6 +952,7 @@ ], "1": [ "core_utils_generate_uuid", + "crud_base_crudbase_update", "crud_biz_no_generator_allocate_next_biz_no", "crud_biz_no_generator_format_biz_no", "crud_biz_no_generator_prefix_for", @@ -1006,38 +991,10 @@ "crud_clean_room_update_clean_room", "crud_clean_room_update_uv_disinfect_log", "crud_clean_room_uv_disinfect_log_to_dict", - "crud_cleanroom_garment_batch_create_sterilize_logs", - "crud_cleanroom_garment_batch_create_wash_logs", - "crud_cleanroom_garment_batch_discard_garments", - "crud_cleanroom_garment_batch_soft_delete_garments", - "crud_cleanroom_garment_count_map", - "crud_cleanroom_garment_create_garment", - "crud_cleanroom_garment_create_sterilize_log", - "crud_cleanroom_garment_create_wash_log", - "crud_cleanroom_garment_discard_garment", - "crud_cleanroom_garment_ensure_garment_active", - "crud_cleanroom_garment_garment_code_exists", - "crud_cleanroom_garment_garment_to_dict", - "crud_cleanroom_garment_get_garment", - "crud_cleanroom_garment_get_sterilize_log", - "crud_cleanroom_garment_get_wash_log", - "crud_cleanroom_garment_list_garments", - "crud_cleanroom_garment_list_sterilize_logs", - "crud_cleanroom_garment_list_wash_logs", - "crud_cleanroom_garment_parse_date", - "crud_cleanroom_garment_parse_datetime", - "crud_cleanroom_garment_parse_limit", - "crud_cleanroom_garment_py", - "crud_cleanroom_garment_soft_delete_garment", - "crud_cleanroom_garment_soft_delete_sterilize_log", - "crud_cleanroom_garment_soft_delete_wash_log", - "crud_cleanroom_garment_sterilize_log_to_dict", - "crud_cleanroom_garment_total_pages", - "crud_cleanroom_garment_update_garment", - "crud_cleanroom_garment_update_sterilize_log", - "crud_cleanroom_garment_update_wash_log", - "crud_cleanroom_garment_wash_log_to_dict", + "crud_collection_protocol_create_audit", "crud_collection_protocol_create_collection_protocol", + "crud_collection_protocol_create_invoice_request", + "crud_collection_protocol_get_protocol_nos_used_in_protocols", "crud_collection_protocol_no_batch_generate_protocol_nos", "crud_collection_protocol_no_batch_issue_protocol_nos", "crud_collection_protocol_no_batch_revoke_protocol_nos", @@ -1047,24 +1004,23 @@ "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_update_collection_protocol", "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_rationale_234", "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", @@ -1078,19 +1034,8 @@ "crud_consumable_is_enabled_status", "crud_consumable_list_consumables", "crud_consumable_norm_status", - "crud_consumable_pack_create_consumable_pack", - "crud_consumable_pack_get_consumable_pack", - "crud_consumable_pack_get_pack_detail", - "crud_consumable_pack_item_row_to_dict", - "crud_consumable_pack_list_all_packs", - "crud_consumable_pack_list_consumable_packs", - "crud_consumable_pack_pack_code_exists", - "crud_consumable_pack_py", - "crud_consumable_pack_row_to_dict", - "crud_consumable_pack_soft_delete_consumable_pack", - "crud_consumable_pack_total_pages", - "crud_consumable_pack_update_consumable_pack", "crud_consumable_py", + "crud_consumable_rationale_1", "crud_consumable_row_to_dict", "crud_consumable_soft_delete_consumable", "crud_consumable_stock_in", @@ -1108,36 +1053,13 @@ "crud_customer_soft_delete_customer", "crud_customer_total_pages", "crud_customer_update_customer", - "crud_dept_build_tree", - "crud_dept_cascade_soft_delete", - "crud_dept_collect_with_ancestors", "crud_dept_create_dept", - "crud_dept_get_dept", - "crud_dept_list_depts", - "crud_dept_list_depts_tree", - "crud_dept_py", - "crud_dept_rationale_42", - "crud_dept_row_to_dict", - "crud_dept_soft_delete_dept", - "crud_dept_update_dept", - "crud_dict_data_create_dict_data", - "crud_dict_data_get_dict_data", - "crud_dict_data_is_dict_value_valid", - "crud_dict_data_list_dict_data", - "crud_dict_data_list_dict_data_options", - "crud_dict_data_normalize_transfer_type", - "crud_dict_data_normalize_void_type", - "crud_dict_data_py", - "crud_dict_data_rationale_1", - "crud_dict_data_row_to_dict", - "crud_dict_data_soft_delete_dict_data", - "crud_dict_data_total_pages", - "crud_dict_data_update_dict_data", "crud_dict_type_create_dict_type", "crud_dict_type_dict_type_code_exists", "crud_dict_type_get_dict_type", "crud_dict_type_list_dict_types", "crud_dict_type_py", + "crud_dict_type_rationale_1", "crud_dict_type_row_to_dict", "crud_dict_type_soft_delete_dict_type", "crud_dict_type_total_pages", @@ -1156,11 +1078,15 @@ "crud_env_detect_record_generate_record_no", "crud_env_detect_record_get_env_detect_record", "crud_env_detect_record_join_csv", + "crud_env_detect_record_list_env_detect_records", "crud_env_detect_record_py", "crud_env_detect_record_resolve_inspector_snapshots", "crud_env_detect_record_resolve_item_snapshot", + "crud_env_detect_record_row_to_dict", "crud_env_detect_record_soft_delete_env_detect_record", + "crud_env_detect_record_split_csv", "crud_env_detect_record_update_env_detect_record", + "crud_exhibition_appointment_create_exhibition_appointment", "crud_express_company_create_express_company", "crud_express_company_express_code_exists", "crud_express_company_get_express_company", @@ -1210,18 +1136,24 @@ "crud_material_stock_batch_update_batch", "crud_material_stock_batch_usage_batch_snapshots", "crud_material_stock_batch_validate_discard_reason", + "crud_material_stock_check_batch_line_to_dict", + "crud_material_stock_check_cancel_check", + "crud_material_stock_check_check_header_to_dict", + "crud_material_stock_check_complete_check", + "crud_material_stock_check_get_check", + "crud_material_stock_check_get_check_detail", + "crud_material_stock_check_line_counts", + "crud_material_stock_check_list_checks", + "crud_material_stock_check_py", "crud_material_stock_check_resolve_unused_item_fields", - "crud_menu_build_tree", - "crud_menu_cascade_soft_delete", + "crud_material_stock_check_status_label", + "crud_material_stock_check_unused_amount", + "crud_material_stock_check_unused_line_to_dict", + "crud_material_stock_check_user_nick_name_map", "crud_menu_create_menu", - "crud_menu_get_menu", - "crud_menu_list_menus", - "crud_menu_list_menus_tree", - "crud_menu_menu_name_exists", - "crud_menu_py", - "crud_menu_row_to_dict", - "crud_menu_soft_delete_menu", - "crud_menu_update_menu", + "crud_oa_approval_create_group", + "crud_oa_approval_create_role", + "crud_oa_approval_replace_role_users", "crud_output_type_create_output_type", "crud_output_type_get_output_type", "crud_output_type_list_output_types", @@ -1232,6 +1164,7 @@ "crud_output_type_total_pages", "crud_output_type_type_code_exists", "crud_output_type_update_output_type", + "crud_pilot_checkup_soft_delete_checkup", "crud_pilot_delivery_create_delivery", "crud_pilot_delivery_deduct_fee_on_delivery", "crud_pilot_delivery_delete_delivery_material", @@ -1310,13 +1243,14 @@ "crud_pilot_service_gmcp_agreement_editable", "crud_pilot_service_gmcp_has_purchase_lock", "crud_pilot_service_insert_package_items", + "crud_pilot_service_list_cell_product_prices", "crud_pilot_service_list_cell_product_specs", - "crud_pilot_service_list_cell_product_types", - "crud_pilot_service_list_channel_agreement_prices", "crud_pilot_service_list_channel_product_quotas", "crud_pilot_service_list_channel_service_orders", + "crud_pilot_service_list_channels", "crud_pilot_service_list_checkup_institution_packages", "crud_pilot_service_list_package_items_raw", + "crud_pilot_service_list_project_systems", "crud_pilot_service_list_service_order_txns", "crud_pilot_service_normalize_date_bound", "crud_pilot_service_package_items_to_dicts", @@ -1330,13 +1264,14 @@ "crud_pilot_service_resolve_service_order_purchase_total", "crud_pilot_service_rollback_purchase_txn_holdings", "crud_pilot_service_rollback_unsubscribe_txn_holdings", + "crud_pilot_service_row_to_dict_cell_product_price", "crud_pilot_service_row_to_dict_cell_product_spec", - "crud_pilot_service_row_to_dict_cell_product_type", + "crud_pilot_service_row_to_dict_channel", "crud_pilot_service_row_to_dict_channel_account", - "crud_pilot_service_row_to_dict_channel_agreement_price", "crud_pilot_service_row_to_dict_channel_product_quota", "crud_pilot_service_row_to_dict_checkup_institution_package", "crud_pilot_service_row_to_dict_checkup_institution_package_item", + "crud_pilot_service_row_to_dict_project_system", "crud_pilot_service_row_to_dict_service_order_product", "crud_pilot_service_save_gmcp_product_rows", "crud_pilot_service_soft_delete_cell_product_price", @@ -1409,8 +1344,10 @@ "crud_process_route_create_step_reagent", "crud_process_route_get_route", "crud_process_route_get_route_detail", + "crud_process_route_list_routes", "crud_process_route_py", "crud_process_route_reorder_steps", + "crud_process_route_route_row_to_dict", "crud_process_route_set_current_route", "crud_process_route_soft_delete_route", "crud_process_route_soft_delete_step", @@ -1472,6 +1409,9 @@ "crud_production_material_prep_write_prep_consume_usage", "crud_production_material_prep_write_quick_prep_consume_usage", "crud_production_material_py", + "crud_production_material_rationale_26", + "crud_production_material_rationale_381", + "crud_production_material_rationale_530", "crud_production_material_row_to_dict", "crud_production_material_soft_delete_material", "crud_production_material_stock_batch_batch_discard", @@ -1521,28 +1461,18 @@ "crud_production_material_stock_out", "crud_production_material_total_pages", "crud_production_material_update_material", + "crud_production_work_order_create_production_work_order_from_reception", + "crud_protocol_donation_convert_active_link_query", "crud_protocol_donation_convert_assert_biz_no_available", - "crud_qc_inspection_batch_allocate_batch_name", - "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", - "crud_qc_inspection_batch_assignee_names", - "crud_qc_inspection_batch_batch_assignee_user_ids", - "crud_qc_inspection_batch_batch_has_blocking_tasks", - "crud_qc_inspection_batch_batch_item_ids", - "crud_qc_inspection_batch_batch_to_dict", - "crud_qc_inspection_batch_build_inspection_batch_list", - "crud_qc_inspection_batch_configure_work_order_batches", - "crud_qc_inspection_batch_dec", + "crud_protocol_donation_convert_create_convert_link", + "crud_protocol_donation_convert_get_convert_partner", + "crud_protocol_donation_convert_get_partner_sample_codes", + "crud_protocol_donation_convert_has_active_convert_link", + "crud_protocol_donation_convert_py", + "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", "crud_qc_inspection_batch_is_voided_work_order", - "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", - "crud_qc_inspection_batch_next_batch_no", - "crud_qc_inspection_batch_order_source_for_wo", - "crud_qc_inspection_batch_py", - "crud_qc_inspection_batch_soft_delete_batch", - "crud_qc_inspection_batch_sync_batch_assignees", "crud_qc_inspection_batch_sync_batch_lab_items", "crud_qc_inspection_batch_sync_batch_third_items", - "crud_qc_inspection_batch_unique_ids", - "crud_qc_inspection_batch_validate_batch_payload", "crud_qc_item_param_list_params_by_item", "crud_qc_item_param_parse_options_list", "crud_qc_item_param_py", @@ -1558,28 +1488,23 @@ "crud_qc_lab_test_item_row_to_dict", "crud_qc_lab_test_item_soft_delete_lab_item", "crud_qc_lab_test_item_update_lab_item", - "crud_qc_material_build_manual_out_remark", - "crud_qc_material_code_exists", + "crud_qc_material_amount_auth_assert_user_in_auth_dept", + "crud_qc_material_amount_auth_get_amount_view_role", + "crud_qc_material_amount_auth_get_auth_dept_id", + "crud_qc_material_amount_auth_grant_amount_view_role", + "crud_qc_material_amount_auth_list_authorized_users", + "crud_qc_material_amount_auth_py", + "crud_qc_material_amount_auth_revoke_amount_view_role", + "crud_qc_material_amount_auth_row_to_dict", + "crud_qc_material_amount_auth_user_has_role_binding", "crud_qc_material_create_material", - "crud_qc_material_dec", - "crud_qc_material_fmt_dt", - "crud_qc_material_get_material", "crud_qc_material_is_enabled_status", - "crud_qc_material_list_materials", - "crud_qc_material_norm_status", - "crud_qc_material_options_list", - "crud_qc_material_py", - "crud_qc_material_rationale_26", - "crud_qc_material_row_to_dict", - "crud_qc_material_soft_delete_material", "crud_qc_material_stock_batch_append_batch_qty_adjust", - "crud_qc_material_stock_batch_batch_options", "crud_qc_material_stock_batch_batch_stock_in", "crud_qc_material_stock_batch_batch_stock_out", "crud_qc_material_stock_batch_create_batch_and_usage", "crud_qc_material_stock_batch_delete_batch", "crud_qc_material_stock_batch_discard_batch", - "crud_qc_material_stock_batch_fmt_date", "crud_qc_material_stock_batch_get_batch", "crud_qc_material_stock_batch_get_batch_detail", "crud_qc_material_stock_batch_get_material_for_update", @@ -1615,12 +1540,9 @@ "crud_qc_material_stock_check_unused_line_to_dict", "crud_qc_material_stock_check_user_nick_name_map", "crud_qc_material_stock_in", - "crud_qc_material_total_pages", - "crud_qc_material_update_material", - "crud_qc_task_assignee_rationale_63", - "crud_qc_task_assignee_sync_assignees_for_task", - "crud_qc_task_assignee_validate_assignee_user_ids", + "crud_qc_material_stock_out", "crud_qc_task_create_task_for_line", + "crud_qc_task_gen_task_no", "crud_qc_third_party_company_company_code_exists", "crud_qc_third_party_company_create_company", "crud_qc_third_party_company_get_company", @@ -1662,6 +1584,7 @@ "crud_reagent_stock_out", "crud_reagent_total_pages", "crud_reagent_update_reagent", + "crud_research_donation_submit_audit", "crud_role_create_role", "crud_role_get_role", "crud_role_get_role_data_scope", @@ -1683,14 +1606,21 @@ "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_sample_production_reception_apply_payload_to_row", + "crud_sample_production_reception_create_production_reception", + "crud_sample_production_reception_get_qc_reception", + "crud_sample_production_reception_int_val", + "crud_sample_production_reception_py", + "crud_sample_production_reception_resolve_field_profile", + "crud_sample_production_reception_update_production_reception", + "crud_sample_production_reception_validate_handler_user_id", + "crud_sample_production_reception_validate_payload", "crud_sample_reception_check_item_create_check_item", "crud_sample_reception_check_item_get_check_item", "crud_sample_reception_check_item_item_code_exists", @@ -1701,8 +1631,9 @@ "crud_sample_reception_check_item_row_to_dict", "crud_sample_reception_check_item_soft_delete_check_item", "crud_sample_reception_check_item_update_check_item", - "crud_sample_reception_check_result_legacy_results_from_reception", - "crud_sample_reception_check_result_py", + "crud_sample_reception_check_result_rationale_108", + "crud_sample_reception_check_result_rationale_133", + "crud_sample_reception_check_result_rationale_171", "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", @@ -1741,6 +1672,8 @@ "crud_sop_document_sop_code_exists", "crud_sop_document_total_pages", "crud_sop_document_update_sop_document", + "crud_storage_facility_clear_slots_by_facility_node", + "crud_storage_facility_create_slot", "crud_storage_release_review_create_review_from_reception", "crud_tenant_create_tenant", "crud_tenant_get_tenant", @@ -1769,13 +1702,6 @@ "crud_user_total_pages", "crud_user_update_user", "crud_user_user_no_exists", - "models_cleanroom_garment_bizcleanroomgarment", - "models_cleanroom_garment_bizcleanroomgarmentsterilizelog", - "models_cleanroom_garment_bizcleanroomgarmentwashlog", - "models_cleanroom_garment_py", - "models_cleanroom_garment_rationale_33", - "models_cleanroom_garment_rationale_54", - "models_cleanroom_garment_rationale_9", "models_qc_material_bizqcmaterialstockcheck", "models_qc_material_bizqcmaterialstockcheckbatchline", "models_qc_material_bizqcmaterialstockcheckunusedline", @@ -1809,7 +1735,6 @@ "api_admin_expresscompanyupdatebody", "api_admin_itemunitcreatebody", "api_admin_itemunitupdatebody", - "api_admin_list_roles_for_select", "api_admin_menucreatebody", "api_admin_menuupdatebody", "api_admin_postcreatebody", @@ -1829,6 +1754,25 @@ "api_admin_tenantupdatebody", "api_admin_usercreatebody", "api_admin_userupdatebody", + "api_basic_info_cellsampletypecreatebody", + "api_basic_info_cellsampletypeupdatebody", + "api_basic_info_collectionregioncreatebody", + "api_basic_info_collectionregionupdatebody", + "api_basic_info_customercreatebody", + "api_basic_info_customerupdatebody", + "api_basic_info_hospitalcreatebody", + "api_basic_info_hospitalupdatebody", + "api_basic_info_protocolnobatchgeneratebody", + "api_basic_info_protocolnobatchissuebody", + "api_basic_info_protocolnobatchrevokebody", + "api_basic_info_protocolnocreatebody", + "api_basic_info_protocolnoupdatebody", + "api_basic_info_rationale_1", + "api_basic_info_samplecodebatchgeneratebody", + "api_basic_info_samplecodebatchissuebody", + "api_basic_info_samplecodebatchrevokebody", + "api_basic_info_samplecodecreatebody", + "api_basic_info_samplecodeupdatebody", "api_cleanroom_garment_garmentbatchdeletebody", "api_cleanroom_garment_garmentbatchdiscardbody", "api_cleanroom_garment_garmentcreatebody", @@ -2020,13 +1964,13 @@ "api_qc_qcmaterialbody", "api_qc_qcmaterialupdatebody", "api_qc_rationale_1", - "api_qc_rationale_1869", - "api_qc_rationale_1879", - "api_qc_rationale_1889", - "api_qc_rationale_1939", - "api_qc_rationale_2003", - "api_qc_rationale_2030", - "api_qc_rationale_2240", + "api_qc_rationale_1866", + "api_qc_rationale_1876", + "api_qc_rationale_1886", + "api_qc_rationale_1936", + "api_qc_rationale_2000", + "api_qc_rationale_2027", + "api_qc_rationale_2237", "api_qc_sms_notification_togglestatusbody", "api_qc_stockcheckcreatebody", "api_qc_stockcheckunusedlineitem", @@ -2047,28 +1991,22 @@ "api_research_donation_convertfromstoragebody", "api_research_donation_donationcreatebody", "api_research_donation_donationupdatebody", - "api_research_donation_rationale_1", "api_research_donation_statuschangebody", "api_sample_production_reception_productionreceptionbody", "api_sample_reception_allocatelabstoragecodesbody", "api_sample_reception_checkitembody", "api_sample_reception_checkitemupdatebody", - "api_sample_reception_rationale_272", "api_sample_reception_receptionchecksubmit", "api_sample_reception_samplereceptioncreatebody", "api_sample_reception_samplereceptionupdatebody", "api_sample_sms_notification_togglestatusbody", "api_storage_entry_sms_notification_togglestatusbody", "basemodel", - "core_data_scope_get_child_dept_ids", - "core_data_scope_get_user_dept_id", - "core_data_scope_py", "core_data_scope_rationale_1", "core_data_scope_rationale_113", "core_data_scope_rationale_28", "core_data_scope_rationale_38", "core_data_scope_rationale_65", - "core_data_scope_resolve_user_role_scopes", "core_response_config", "core_response_pageresult", "core_response_py", @@ -2077,26 +2015,25 @@ "crud_base_crudbase_get_all", "crud_base_crudbase_get_multi", "crud_base_crudbase_init", + "crud_collection_protocol_no_rationale_1", + "crud_collection_protocol_no_rationale_20", + "crud_collection_protocol_no_rationale_256", "crud_collection_protocol_no_rationale_34", "crud_production_task_step_assignee_rationale_104", "crud_production_task_step_assignee_rationale_152", - "crud_qc_material_amount_auth_assert_user_in_auth_dept", - "crud_qc_material_amount_auth_get_amount_view_role", - "crud_qc_material_amount_auth_get_auth_dept_id", - "crud_qc_material_amount_auth_grant_amount_view_role", - "crud_qc_material_amount_auth_list_authorized_users", - "crud_qc_material_amount_auth_py", "crud_qc_material_amount_auth_rationale_1", "crud_qc_material_amount_auth_rationale_159", "crud_qc_material_amount_auth_rationale_207", - "crud_qc_material_amount_auth_revoke_amount_view_role", - "crud_qc_material_amount_auth_row_to_dict", - "crud_qc_material_amount_auth_user_has_role_binding", + "crud_sample_code_rationale_1", + "crud_sample_code_rationale_261", "crud_user_rationale_1", "crud_user_rationale_135", "crud_user_rationale_182", "crud_user_usercrudcompat", "models_models_bizattachment", + "models_models_bizcollectionprotocolno", + "models_models_bizcustomer", + "models_models_bizsamplecode", "models_models_sysdept", "models_models_sysrole", "models_models_sysuser", @@ -2430,7 +2367,6 @@ "schemas_workflow_taskresponse", "schemas_workflow_transitiondata", "schemas_workflow_versionresponse", - "services_web_auth_roles_map_role_name_to_web", "services_web_auth_roles_rationale_1", "services_web_auth_roles_rationale_20", "services_web_auth_roles_rationale_32", @@ -2440,410 +2376,6 @@ "services_web_auth_roles_rationale_76" ], "3": [ - "api_basic_info_normalize_date_bound", - "api_collection_protocol_persist_protocol_sub_resources", - "api_ethnic_list_ethnics_for_select", - "api_ethnic_py", - "api_sample_production_reception_body_to_payload", - "api_sample_production_reception_get_current_user_id", - "api_sample_production_reception_get_production_reception_by_sample_code", - "api_sample_production_reception_get_production_reception_detail", - "api_sample_production_reception_get_tenant_no", - "api_sample_production_reception_post_production_reception", - "api_sample_production_reception_put_production_reception", - "api_sample_production_reception_py", - "api_sample_production_reception_resolve_reception_id", - "core_data_scope_apply_data_scope", - "core_utils_format_date", - "core_utils_format_datetime", - "core_utils_generate_id", - "core_utils_generate_random_password", - "core_utils_get_current_time", - "core_utils_get_file_size_display", - "core_utils_optional_date", - "core_utils_parse_date", - "core_utils_py", - "core_utils_rationale_71", - "crud_base_camel_to_snake", - "crud_base_crudbase_create", - "crud_base_crudbase_exists", - "crud_base_get_model_attr", - "crud_base_historycrud", - "crud_base_historycrud_create_history", - "crud_base_py", - "crud_collection_protocol_active_invoiced_payment_detail_ids", - "crud_collection_protocol_add_months_yyyymmdd", - "crud_collection_protocol_align_fq_payment_details_payload", - "crud_collection_protocol_apply_payment_detail_draft_fields", - "crud_collection_protocol_apply_payment_detail_list_filters", - "crud_collection_protocol_apply_submit_receipt_finance", - "crud_collection_protocol_apply_submit_refund_finance", - "crud_collection_protocol_audit_to_dict", - "crud_collection_protocol_batch_submit_receipt_finance", - "crud_collection_protocol_batch_submit_refund_finance", - "crud_collection_protocol_build_installment_summary", - "crud_collection_protocol_calc_installment_due_amounts", - "crud_collection_protocol_classify_installment_warning", - "crud_collection_protocol_collection_info_to_dict", - "crud_collection_protocol_compare_datetime", - "crud_collection_protocol_compare_money", - "crud_collection_protocol_complete_invoice_request", - "crud_collection_protocol_confirm_receipt", - "crud_collection_protocol_confirm_refund", - "crud_collection_protocol_count_pending_protocol_invoice_requests", - "crud_collection_protocol_create_audit", - "crud_collection_protocol_create_invoice_request", - "crud_collection_protocol_dec", - "crud_collection_protocol_detail_query_with_protocol", - "crud_collection_protocol_detail_to_dict", - "crud_collection_protocol_fmt_dt", - "crud_collection_protocol_format_attachment_file_size", - "crud_collection_protocol_format_newborn_info", - "crud_collection_protocol_format_sample_collect_summary", - "crud_collection_protocol_format_storage_cert_sample_info", - "crud_collection_protocol_fullmoon_todo_detail_dict", - "crud_collection_protocol_fullmoon_todo_empty_dict", - "crud_collection_protocol_fullmoon_todo_to_dict", - "crud_collection_protocol_get_collection_info", - "crud_collection_protocol_get_collection_protocol", - "crud_collection_protocol_get_fullmoon_todo", - "crud_collection_protocol_get_party_customer", - "crud_collection_protocol_get_payment_by_protocol_id", - "crud_collection_protocol_get_payment_detail_or_raise", - "crud_collection_protocol_get_protocol_detail_bundle", - "crud_collection_protocol_get_sample_codes_used_in_protocol_samples", - "crud_collection_protocol_get_storage_cert", - "crud_collection_protocol_invoice_request_item_to_dict", - "crud_collection_protocol_invoice_request_list_query", - "crud_collection_protocol_invoice_request_to_dict", - "crud_collection_protocol_list_audits", - "crud_collection_protocol_list_collection_protocols", - "crud_collection_protocol_list_installment_warning", - "crud_collection_protocol_list_invoice_eligible_payment_details", - "crud_collection_protocol_list_invoice_requests_by_protocol", - "crud_collection_protocol_list_payment_details", - "crud_collection_protocol_list_payment_details_page", - "crud_collection_protocol_list_protocol_invoice_requests", - "crud_collection_protocol_list_receipt_confirm_details", - "crud_collection_protocol_list_receipt_confirmed_details", - "crud_collection_protocol_list_refund_confirm_details", - "crud_collection_protocol_list_refund_confirmed_details", - "crud_collection_protocol_list_sample_transports", - "crud_collection_protocol_list_samples", - "crud_collection_protocol_list_storage_certs", - "crud_collection_protocol_load_express_name_map", - "crud_collection_protocol_load_protocol_storage_in_date_map", - "crud_collection_protocol_load_sample_type_name_map", - "crud_collection_protocol_load_site_name_map", - "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_normalize_attachment_url_key", - "crud_collection_protocol_normalize_date_bound", - "crud_collection_protocol_normalize_fields", - "crud_collection_protocol_normalize_yyyymmdd_date", - "crud_collection_protocol_optional_decimal", - "crud_collection_protocol_pack_invoice_request_with_items", - "crud_collection_protocol_parse_transfer_time_value", - "crud_collection_protocol_party_customer_map_by_protocol_ids", - "crud_collection_protocol_party_customer_to_dict", - "crud_collection_protocol_payment_detail_compare_from_model", - "crud_collection_protocol_payment_detail_compare_row", - "crud_collection_protocol_payment_detail_sort_key", - "crud_collection_protocol_payment_details_payload_unchanged", - "crud_collection_protocol_payment_to_dict", - "crud_collection_protocol_pick_storage_in_date", - "crud_collection_protocol_pop_attachment_urls", - "crud_collection_protocol_protocol_to_dict", - "crud_collection_protocol_py", - "crud_collection_protocol_reject_receipt", - "crud_collection_protocol_reject_refund", - "crud_collection_protocol_rows_to_payment_detail_dicts", - "crud_collection_protocol_sample_to_dict", - "crud_collection_protocol_save_payment_details", - "crud_collection_protocol_save_samples", - "crud_collection_protocol_soft_delete_collection_protocol", - "crud_collection_protocol_soft_delete_transports_for_protocol", - "crud_collection_protocol_storage_cert_to_dict", - "crud_collection_protocol_storage_in_date_to_yyyymmdd", - "crud_collection_protocol_submit_receipt_finance", - "crud_collection_protocol_submit_refund_finance", - "crud_collection_protocol_today_yyyymmdd", - "crud_collection_protocol_total_pages", - "crud_collection_protocol_transport_to_dict", - "crud_collection_protocol_update_payment_detail_draft", - "crud_collection_protocol_upsert_collection_info", - "crud_collection_protocol_upsert_party_customer", - "crud_collection_protocol_upsert_payment", - "crud_collection_protocol_upsert_storage_cert", - "crud_collection_protocol_urls_to_attachment_list", - "crud_collection_protocol_user_nick_name_map", - "crud_collection_protocol_validate_receipt_finance_submit_ready", - "crud_collection_protocol_validate_sample_codes_not_used", - "crud_collection_protocol_yyyymmdd_from_date_param", - "crud_env_detect_record_list_env_detect_records", - "crud_env_detect_record_row_to_dict", - "crud_env_detect_record_split_csv", - "crud_ethnic_list_ethnics", - "crud_ethnic_py", - "crud_ethnic_rationale_1", - "crud_ethnic_row_to_dict", - "crud_inbound_sample_special_py", - "crud_inbound_sample_special_update_inbound_sample_special_mark", - "crud_leave_create_leave", - "crud_leave_get_leave", - "crud_leave_list_leaves", - "crud_leave_py", - "crud_leave_row_to_dict", - "crud_leave_soft_delete_leave", - "crud_leave_total_pages", - "crud_leave_update_leave", - "crud_material_usage_amount_for_row", - "crud_material_usage_batch_map", - "crud_material_usage_display_remark", - "crud_material_usage_fmt_date_val", - "crud_material_usage_list_stock_check_requisitions", - "crud_material_usage_list_usages", - "crud_material_usage_list_usages_query", - "crud_material_usage_mark_requisition_fully_used", - "crud_material_usage_paginate_usages", - "crud_material_usage_parse_receiver_purpose_from_remark", - "crud_material_usage_py", - "crud_material_usage_rationale_302", - "crud_material_usage_receiver_display_map", - "crud_material_usage_resolve_receiver_purpose", - "crud_material_usage_row_to_dict", - "crud_material_usage_stock_in_date_for_row", - "crud_material_usage_unit_price_for_row", - "crud_material_usage_usage_unit_label", - "crud_material_usage_user_nick_name_map", - "crud_pilot_service_list_channel_agreements", - "crud_pilot_service_list_channel_invoices", - "crud_pilot_service_list_channel_mail_addresses", - "crud_pilot_service_list_checkup_institution_invoices", - "crud_pilot_service_list_checkup_institution_projects", - "crud_pilot_service_list_project_system_items", - "crud_pre_transit_sample_apply_collection_keyword", - "crud_pre_transit_sample_apply_collection_sample_collect_time_filter", - "crud_pre_transit_sample_apply_create_time_filter", - "crud_pre_transit_sample_apply_donation_keyword", - "crud_pre_transit_sample_apply_donation_sample_collect_time_filter", - "crud_pre_transit_sample_build_sample_items", - "crud_pre_transit_sample_cell_received_exists", - "crud_pre_transit_sample_donation_received_exists", - "crud_pre_transit_sample_earliest_eta", - "crud_pre_transit_sample_hydrate_collection_rows", - "crud_pre_transit_sample_hydrate_donation_rows", - "crud_pre_transit_sample_is_in_transit_sample", - "crud_pre_transit_sample_is_uncollected_status", - "crud_pre_transit_sample_list_in_transit_collection_ids", - "crud_pre_transit_sample_list_in_transit_donation_ids", - "crud_pre_transit_sample_list_in_transit_protocols", - "crud_pre_transit_sample_list_pre_delivery_collection_ids", - "crud_pre_transit_sample_list_pre_delivery_donation_ids", - "crud_pre_transit_sample_list_pre_delivery_protocols", - "crud_pre_transit_sample_py", - "crud_pre_transit_sample_sort_key_in_transit", - "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_sample_collection_apply_sample_status_filter", - "crud_protocol_sample_collection_base_query", - "crud_protocol_sample_collection_fmt_dt", - "crud_protocol_sample_collection_list_protocol_sample_collections", - "crud_protocol_sample_collection_py", - "crud_protocol_sample_collection_row_to_dict", - "crud_protocol_sample_collection_sample_status_label", - "crud_protocol_sample_collection_total_pages", - "crud_qc_sms_notification_apply_qc_status_filter", - "crud_qc_sms_notification_base_query", - "crud_qc_sms_notification_derive_qc_conclusion", - "crud_qc_sms_notification_ensure_notification", - "crud_qc_sms_notification_eq_ci", - "crud_qc_sms_notification_fetch_completed_tasks", - "crud_qc_sms_notification_fmt_dt", - "crud_qc_sms_notification_generate_sms_content", - "crud_qc_sms_notification_list_notifications", - "crud_qc_sms_notification_normalize_date_bound", - "crud_qc_sms_notification_py", - "crud_qc_sms_notification_qc_complete_time", - "crud_qc_sms_notification_qc_status_label", - "crud_qc_sms_notification_resolve_notification", - "crud_qc_sms_notification_row_to_dict", - "crud_qc_sms_notification_task_stats_subquery", - "crud_qc_sms_notification_toggle_notification_status", - "crud_qc_sms_notification_total_pages", - "crud_qc_sms_notification_unicode_ci", - "crud_research_donation_audit_to_dict", - "crud_research_donation_collection_to_dict", - "crud_research_donation_convert_to_storage", - "crud_research_donation_create_collection", - "crud_research_donation_create_donation", - "crud_research_donation_create_party", - "crud_research_donation_create_samples", - "crud_research_donation_create_transport", - "crud_research_donation_dec", - "crud_research_donation_delete_donation", - "crud_research_donation_donation_sample_code_seq", - "crud_research_donation_donation_to_dict", - "crud_research_donation_fmt_dt", - "crud_research_donation_get_collection", - "crud_research_donation_get_donation_detail", - "crud_research_donation_get_party", - "crud_research_donation_list_audits", - "crud_research_donation_list_donations", - "crud_research_donation_list_sample_transports", - "crud_research_donation_list_samples", - "crud_research_donation_load_unit_name_map", - "crud_research_donation_merge_comma_separated_urls", - "crud_research_donation_migrate_donation_sample_child_refs_on_replace", - "crud_research_donation_next_donation_sample_code", - "crud_research_donation_normalize_date_bound", - "crud_research_donation_normalize_fields", - "crud_research_donation_optional_decimal", - "crud_research_donation_party_to_dict", - "crud_research_donation_py", - "crud_research_donation_resolve_donation_payload", - "crud_research_donation_sample_collection_apply_sample_status_filter", - "crud_research_donation_sample_collection_base_query", - "crud_research_donation_sample_collection_fmt_dt", - "crud_research_donation_sample_collection_list_donation_sample_collections", - "crud_research_donation_sample_collection_py", - "crud_research_donation_sample_collection_row_to_dict", - "crud_research_donation_sample_collection_sample_status_label", - "crud_research_donation_sample_collection_total_pages", - "crud_research_donation_sample_to_dict", - "crud_research_donation_soft_delete_all", - "crud_research_donation_soft_delete_collection", - "crud_research_donation_soft_delete_party", - "crud_research_donation_soft_delete_samples", - "crud_research_donation_soft_delete_transports", - "crud_research_donation_total_pages", - "crud_research_donation_transport_to_dict", - "crud_research_donation_update_donation", - "crud_research_donation_user_nick_name_map", - "crud_sample_production_reception_apply_payload_to_row", - "crud_sample_production_reception_create_production_reception", - "crud_sample_production_reception_dec", - "crud_sample_production_reception_fmt_dt", - "crud_sample_production_reception_get_by_id", - "crud_sample_production_reception_get_by_reception_id", - "crud_sample_production_reception_get_map_by_reception_ids", - "crud_sample_production_reception_get_qc_reception", - "crud_sample_production_reception_int_val", - "crud_sample_production_reception_py", - "crud_sample_production_reception_resolve_field_profile", - "crud_sample_production_reception_row_to_dict", - "crud_sample_production_reception_update_production_reception", - "crud_sample_production_reception_validate_handler_user_id", - "crud_sample_production_reception_validate_payload", - "crud_sample_reception_attach_production_reception", - "crud_sample_reception_check_result_get_check_results_for_reception", - "crud_sample_reception_check_result_list_results_by_reception_ids", - "crud_sample_reception_check_result_result_to_dict", - "crud_sample_reception_dec", - "crud_sample_reception_donation_ids_matching_lab_storage_keyword", - "crud_sample_reception_donation_rows_to_sample_list_items", - "crud_sample_reception_donation_sample_detail_rows_query", - "crud_sample_reception_donation_sample_id_col", - "crud_sample_reception_donation_sample_pending_query", - "crud_sample_reception_finalize_reception_detail", - "crud_sample_reception_fmt_dt", - "crud_sample_reception_format_lab_storage_codes_csv", - "crud_sample_reception_get_lab_storage_code_map_by_sample_codes", - "crud_sample_reception_get_reception_by_id", - "crud_sample_reception_get_reception_by_sample_code", - "crud_sample_reception_get_receptions_map_for_donation_samples", - "crud_sample_reception_get_receptions_map_for_samples", - "crud_sample_reception_lab_storage_keyword_like", - "crud_sample_reception_list_pending_protocol_samples", - "crud_sample_reception_list_received_protocol_samples", - "crud_sample_reception_normalize_date_bound", - "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", - "crud_sample_reception_py", - "crud_sample_reception_reception_detail_item", - "crud_sample_reception_reception_detail_item_with_production", - "crud_sample_reception_reception_ids_matching_lab_storage_keyword", - "crud_sample_reception_reception_sample_code", - "crud_sample_reception_reception_to_dict", - "crud_sample_reception_rows_to_sample_list_items", - "crud_sample_reception_sample_codes_matching_lab_storage_keyword", - "crud_sample_reception_sample_detail_rows_query", - "crud_sample_reception_sample_pending_query", - "crud_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", - "services_protocol_payment_installment_calc_fq_installment_due_date", - "services_protocol_payment_installment_calc_installment_due_amounts_by_ratios", - "services_protocol_payment_installment_calc_installment_due_amounts_inline", - "services_protocol_payment_installment_calc_unpaid_amounts_by_ratios", - "services_protocol_payment_installment_is_legacy_installment_ratios", - "services_protocol_payment_installment_parse_installment_ratios", - "services_protocol_payment_installment_py", - "services_protocol_payment_installment_rationale_1", - "services_protocol_payment_installment_rationale_138", - "services_protocol_payment_installment_rationale_160", - "services_protocol_payment_installment_rationale_45", - "services_protocol_payment_installment_rationale_70", - "services_protocol_payment_installment_resolve_installment_due_amounts", - "utils_sample_special_apply_inbound_sample_special_mark_fields", - "utils_sample_special_apply_sample_special_fields", - "utils_sample_special_apply_special_to_item_from_samples", - "utils_sample_special_py", - "utils_sample_special_rationale_42", - "utils_sample_special_sample_special_to_dict", - "utils_sample_special_truthy_flag", - "utils_sample_special_validate_sample_special_raw" - ], - "4": [ - "api_basic_info_cellsampletypecreatebody", - "api_basic_info_cellsampletypeupdatebody", - "api_basic_info_collectionregioncreatebody", - "api_basic_info_collectionregionupdatebody", - "api_basic_info_customercreatebody", - "api_basic_info_customerupdatebody", - "api_basic_info_hospitalcreatebody", - "api_basic_info_hospitalupdatebody", - "api_basic_info_protocolnobatchgeneratebody", - "api_basic_info_protocolnobatchissuebody", - "api_basic_info_protocolnobatchrevokebody", - "api_basic_info_protocolnocreatebody", - "api_basic_info_protocolnoupdatebody", - "api_basic_info_rationale_1", - "api_basic_info_samplecodebatchgeneratebody", - "api_basic_info_samplecodebatchissuebody", - "api_basic_info_samplecodebatchrevokebody", - "api_basic_info_samplecodecreatebody", - "api_basic_info_samplecodeupdatebody", - "api_env_detect_rationale_1", "api_insurance_company_rationale_1", "api_workflow_processdefcreatebody", "api_workflow_processdefupdatebody", @@ -2852,14 +2384,12 @@ "api_workflow_startinstancebody", "api_workflow_taskactionbody", "base", - "crud_api_request_log_apirequestlogcrud", - "crud_consumable_pack_rationale_1", - "crud_consumable_rationale_1", - "crud_dict_type_rationale_1", "crud_material_rationale_377", "crud_material_rationale_444", "crud_material_rationale_473", "crud_material_stock_check_rationale_362", + "crud_oa_approval_rationale_1", + "crud_oa_approval_rationale_66", "crud_outbound_handover_inventory_rationale_1", "crud_outbound_handover_inventory_rationale_170", "crud_outbound_handover_inventory_rationale_215", @@ -2872,7 +2402,6 @@ "crud_outbound_release_material_rationale_205", "crud_outbound_release_material_rationale_339", "crud_outbound_release_material_rationale_52", - "crud_pilot_checkup_ensure_checkup_for_patient", "crud_pilot_checkup_rationale_1", "crud_pilot_checkup_rationale_715", "crud_pilot_checkup_rationale_883", @@ -2916,9 +2445,6 @@ "crud_production_material_prep_rationale_523", "crud_production_material_prep_rationale_893", "crud_production_material_prep_rationale_948", - "crud_production_material_rationale_26", - "crud_production_material_rationale_381", - "crud_production_material_rationale_530", "crud_production_material_stock_check_rationale_367", "crud_production_material_usage_rationale_1064", "crud_production_material_usage_rationale_1233", @@ -2979,13 +2505,10 @@ "models_models_bizcheckupinstitutionpackage", "models_models_bizcheckupinstitutionpackageitem", "models_models_bizcheckupinstitutionproject", - "models_models_bizcollectionprotocolno", - "models_models_bizcollectionregion", "models_models_bizconsumable", "models_models_bizconsumablepack", "models_models_bizconsumablepackitem", "models_models_bizconsumablestocklog", - "models_models_bizcustomer", "models_models_bizenvdetectitem", "models_models_bizenvdetectrecord", "models_models_bizequipment", @@ -3031,14 +2554,21 @@ "models_models_bizqcworkorderinspectionbatch", "models_models_bizreagent", "models_models_bizreagentstocklog", - "models_models_bizsamplecode", "models_models_bizsampleproductionreception", "models_models_bizsamplereceptioncheckitem", + "models_models_bizsamplereceptioncheckresult", "models_models_bizsamplesmsnotification", "models_models_bizsopdocument", "models_models_bizstorageentrysmsnotification", + "models_models_oaapp", "models_models_oaappgroup", + "models_models_oaappversion", + "models_models_oainstance", + "models_models_oainstanceevent", + "models_models_oarelation", + "models_models_oarole", "models_models_oaroleuser", + "models_models_oatask", "models_models_py", "models_models_rationale_1", "models_models_rationale_1009", @@ -3201,8 +2731,356 @@ "models_qc_param_bizqcitemparam", "models_qc_param_bizqctaskresult", "models_qc_param_py", + "services_oa_assignee_assigneeresolveerror", + "services_oa_engine_rationale_1031", + "services_oa_engine_rationale_1150", + "services_oa_engine_rationale_120", + "services_oa_engine_rationale_1325", + "services_oa_engine_rationale_145", + "services_oa_engine_rationale_158", + "services_oa_engine_rationale_1765", + "services_oa_engine_rationale_1880", + "services_oa_engine_rationale_1962", + "services_oa_engine_rationale_215", + "services_oa_engine_rationale_258", + "services_oa_engine_rationale_315", + "services_oa_engine_rationale_357", + "services_oa_engine_rationale_438", + "services_oa_engine_rationale_456", + "services_oa_engine_rationale_476", + "services_oa_engine_rationale_52", + "services_oa_engine_rationale_69", + "services_oa_engine_rationale_939", + "services_oa_engine_rationale_956", + "services_oa_formula_formulaerror", "services_workflow_engine_rationale_1" ], + "4": [ + "api_basic_info_normalize_date_bound", + "api_research_donation_batch_delete_research_donations", + "api_research_donation_change_donation_status", + "api_research_donation_convert_from_storage", + "api_research_donation_convert_to_storage", + "api_research_donation_create_research_donation", + "api_research_donation_delete_research_donation", + "api_research_donation_get_current_user_id", + "api_research_donation_get_research_donation_detail", + "api_research_donation_get_tenant_no", + "api_research_donation_list_research_donation_audits", + "api_research_donation_list_research_donations", + "api_research_donation_next_research_donation_sample_code", + "api_research_donation_py", + "api_research_donation_rationale_1", + "api_research_donation_update_research_donation", + "api_sample_production_reception_body_to_payload", + "api_sample_production_reception_get_current_user_id", + "api_sample_production_reception_get_production_reception_by_sample_code", + "api_sample_production_reception_get_production_reception_detail", + "api_sample_production_reception_get_tenant_no", + "api_sample_production_reception_post_production_reception", + "api_sample_production_reception_put_production_reception", + "api_sample_production_reception_py", + "api_sample_production_reception_resolve_reception_id", + "core_utils_format_date", + "core_utils_format_datetime", + "core_utils_generate_id", + "core_utils_generate_random_password", + "core_utils_get_current_time", + "core_utils_get_file_size_display", + "core_utils_optional_date", + "core_utils_parse_date", + "core_utils_py", + "core_utils_rationale_71", + "crud_base_camel_to_snake", + "crud_base_crudbase_create", + "crud_base_crudbase_exists", + "crud_base_get_model_attr", + "crud_base_historycrud", + "crud_base_historycrud_create_history", + "crud_base_py", + "crud_collection_protocol_active_invoiced_payment_detail_ids", + "crud_collection_protocol_add_months_yyyymmdd", + "crud_collection_protocol_align_fq_payment_details_payload", + "crud_collection_protocol_apply_payment_detail_draft_fields", + "crud_collection_protocol_apply_payment_detail_list_filters", + "crud_collection_protocol_apply_submit_receipt_finance", + "crud_collection_protocol_apply_submit_refund_finance", + "crud_collection_protocol_audit_to_dict", + "crud_collection_protocol_batch_submit_receipt_finance", + "crud_collection_protocol_batch_submit_refund_finance", + "crud_collection_protocol_build_installment_summary", + "crud_collection_protocol_calc_installment_due_amounts", + "crud_collection_protocol_classify_installment_warning", + "crud_collection_protocol_collection_info_to_dict", + "crud_collection_protocol_compare_datetime", + "crud_collection_protocol_compare_money", + "crud_collection_protocol_complete_invoice_request", + "crud_collection_protocol_confirm_receipt", + "crud_collection_protocol_confirm_refund", + "crud_collection_protocol_dec", + "crud_collection_protocol_detail_query_with_protocol", + "crud_collection_protocol_detail_to_dict", + "crud_collection_protocol_fmt_dt", + "crud_collection_protocol_format_attachment_file_size", + "crud_collection_protocol_format_newborn_info", + "crud_collection_protocol_format_sample_collect_summary", + "crud_collection_protocol_format_storage_cert_sample_info", + "crud_collection_protocol_fullmoon_todo_detail_dict", + "crud_collection_protocol_fullmoon_todo_empty_dict", + "crud_collection_protocol_fullmoon_todo_to_dict", + "crud_collection_protocol_get_collection_info", + "crud_collection_protocol_get_collection_protocol", + "crud_collection_protocol_get_fullmoon_todo", + "crud_collection_protocol_get_party_customer", + "crud_collection_protocol_get_payment_by_protocol_id", + "crud_collection_protocol_get_payment_detail_or_raise", + "crud_collection_protocol_get_protocol_detail_bundle", + "crud_collection_protocol_get_sample_codes_used_in_protocol_samples", + "crud_collection_protocol_get_storage_cert", + "crud_collection_protocol_invoice_request_item_to_dict", + "crud_collection_protocol_invoice_request_to_dict", + "crud_collection_protocol_list_audits", + "crud_collection_protocol_list_collection_protocols", + "crud_collection_protocol_list_installment_warning", + "crud_collection_protocol_list_invoice_eligible_payment_details", + "crud_collection_protocol_list_invoice_requests_by_protocol", + "crud_collection_protocol_list_payment_details", + "crud_collection_protocol_list_payment_details_page", + "crud_collection_protocol_list_receipt_confirm_details", + "crud_collection_protocol_list_receipt_confirmed_details", + "crud_collection_protocol_list_refund_confirm_details", + "crud_collection_protocol_list_refund_confirmed_details", + "crud_collection_protocol_list_sample_transports", + "crud_collection_protocol_list_samples", + "crud_collection_protocol_list_storage_certs", + "crud_collection_protocol_load_express_name_map", + "crud_collection_protocol_load_protocol_storage_in_date_map", + "crud_collection_protocol_load_sample_type_name_map", + "crud_collection_protocol_load_site_name_map", + "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_normalize_attachment_url_key", + "crud_collection_protocol_normalize_date_bound", + "crud_collection_protocol_normalize_fields", + "crud_collection_protocol_normalize_yyyymmdd_date", + "crud_collection_protocol_optional_decimal", + "crud_collection_protocol_pack_invoice_request_with_items", + "crud_collection_protocol_parse_transfer_time_value", + "crud_collection_protocol_party_customer_map_by_protocol_ids", + "crud_collection_protocol_party_customer_to_dict", + "crud_collection_protocol_payment_detail_compare_from_model", + "crud_collection_protocol_payment_detail_compare_row", + "crud_collection_protocol_payment_detail_sort_key", + "crud_collection_protocol_payment_details_payload_unchanged", + "crud_collection_protocol_payment_to_dict", + "crud_collection_protocol_pick_storage_in_date", + "crud_collection_protocol_pop_attachment_urls", + "crud_collection_protocol_protocol_to_dict", + "crud_collection_protocol_py", + "crud_collection_protocol_reject_receipt", + "crud_collection_protocol_reject_refund", + "crud_collection_protocol_rows_to_payment_detail_dicts", + "crud_collection_protocol_sample_to_dict", + "crud_collection_protocol_save_payment_details", + "crud_collection_protocol_save_samples", + "crud_collection_protocol_soft_delete_collection_protocol", + "crud_collection_protocol_soft_delete_transports_for_protocol", + "crud_collection_protocol_storage_cert_to_dict", + "crud_collection_protocol_storage_in_date_to_yyyymmdd", + "crud_collection_protocol_submit_receipt_finance", + "crud_collection_protocol_submit_refund_finance", + "crud_collection_protocol_today_yyyymmdd", + "crud_collection_protocol_total_pages", + "crud_collection_protocol_transport_to_dict", + "crud_collection_protocol_update_collection_protocol", + "crud_collection_protocol_update_payment_detail_draft", + "crud_collection_protocol_upsert_collection_info", + "crud_collection_protocol_upsert_party_customer", + "crud_collection_protocol_upsert_payment", + "crud_collection_protocol_upsert_storage_cert", + "crud_collection_protocol_urls_to_attachment_list", + "crud_collection_protocol_user_nick_name_map", + "crud_collection_protocol_validate_receipt_finance_submit_ready", + "crud_collection_protocol_validate_sample_codes_not_used", + "crud_collection_protocol_yyyymmdd_from_date_param", + "crud_dict_data_create_dict_data", + "crud_dict_data_get_dict_data", + "crud_dict_data_is_dict_value_valid", + "crud_dict_data_list_dict_data", + "crud_dict_data_list_dict_data_options", + "crud_dict_data_normalize_transfer_type", + "crud_dict_data_normalize_void_type", + "crud_dict_data_py", + "crud_dict_data_rationale_1", + "crud_dict_data_row_to_dict", + "crud_dict_data_soft_delete_dict_data", + "crud_dict_data_total_pages", + "crud_dict_data_update_dict_data", + "crud_inbound_sample_special_py", + "crud_inbound_sample_special_update_inbound_sample_special_mark", + "crud_pre_transit_sample_apply_collection_keyword", + "crud_pre_transit_sample_apply_collection_sample_collect_time_filter", + "crud_pre_transit_sample_apply_create_time_filter", + "crud_pre_transit_sample_apply_donation_keyword", + "crud_pre_transit_sample_apply_donation_sample_collect_time_filter", + "crud_pre_transit_sample_build_sample_items", + "crud_pre_transit_sample_cell_received_exists", + "crud_pre_transit_sample_donation_received_exists", + "crud_pre_transit_sample_earliest_eta", + "crud_pre_transit_sample_hydrate_collection_rows", + "crud_pre_transit_sample_hydrate_donation_rows", + "crud_pre_transit_sample_is_in_transit_sample", + "crud_pre_transit_sample_is_uncollected_status", + "crud_pre_transit_sample_list_in_transit_collection_ids", + "crud_pre_transit_sample_list_in_transit_donation_ids", + "crud_pre_transit_sample_list_in_transit_protocols", + "crud_pre_transit_sample_list_pre_delivery_collection_ids", + "crud_pre_transit_sample_list_pre_delivery_donation_ids", + "crud_pre_transit_sample_list_pre_delivery_protocols", + "crud_pre_transit_sample_py", + "crud_pre_transit_sample_sort_key_in_transit", + "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_sample_collection_apply_sample_status_filter", + "crud_protocol_sample_collection_base_query", + "crud_protocol_sample_collection_fmt_dt", + "crud_protocol_sample_collection_list_protocol_sample_collections", + "crud_protocol_sample_collection_py", + "crud_protocol_sample_collection_row_to_dict", + "crud_protocol_sample_collection_sample_status_label", + "crud_protocol_sample_collection_total_pages", + "crud_research_donation_audit_to_dict", + "crud_research_donation_batch_delete_donations", + "crud_research_donation_change_status", + "crud_research_donation_collection_to_dict", + "crud_research_donation_convert_to_storage", + "crud_research_donation_create_collection", + "crud_research_donation_create_donation", + "crud_research_donation_create_party", + "crud_research_donation_create_samples", + "crud_research_donation_create_transport", + "crud_research_donation_dec", + "crud_research_donation_delete_donation", + "crud_research_donation_donation_sample_code_seq", + "crud_research_donation_donation_to_dict", + "crud_research_donation_fmt_dt", + "crud_research_donation_get_collection", + "crud_research_donation_get_donation_detail", + "crud_research_donation_get_party", + "crud_research_donation_list_audits", + "crud_research_donation_list_donations", + "crud_research_donation_list_sample_transports", + "crud_research_donation_list_samples", + "crud_research_donation_load_unit_name_map", + "crud_research_donation_merge_comma_separated_urls", + "crud_research_donation_migrate_donation_sample_child_refs_on_replace", + "crud_research_donation_next_donation_sample_code", + "crud_research_donation_normalize_date_bound", + "crud_research_donation_normalize_fields", + "crud_research_donation_optional_decimal", + "crud_research_donation_party_to_dict", + "crud_research_donation_py", + "crud_research_donation_resolve_donation_payload", + "crud_research_donation_sample_collection_apply_sample_status_filter", + "crud_research_donation_sample_collection_base_query", + "crud_research_donation_sample_collection_fmt_dt", + "crud_research_donation_sample_collection_list_donation_sample_collections", + "crud_research_donation_sample_collection_py", + "crud_research_donation_sample_collection_row_to_dict", + "crud_research_donation_sample_collection_sample_status_label", + "crud_research_donation_sample_collection_total_pages", + "crud_research_donation_sample_to_dict", + "crud_research_donation_soft_delete_all", + "crud_research_donation_soft_delete_collection", + "crud_research_donation_soft_delete_party", + "crud_research_donation_soft_delete_samples", + "crud_research_donation_soft_delete_transports", + "crud_research_donation_total_pages", + "crud_research_donation_transport_to_dict", + "crud_research_donation_update_donation", + "crud_research_donation_user_nick_name_map", + "crud_sample_production_reception_dec", + "crud_sample_production_reception_fmt_dt", + "crud_sample_production_reception_get_by_id", + "crud_sample_production_reception_get_by_reception_id", + "crud_sample_production_reception_get_map_by_reception_ids", + "crud_sample_production_reception_row_to_dict", + "crud_sample_reception_attach_production_reception", + "crud_sample_reception_check_result_get_check_results_for_reception", + "crud_sample_reception_check_result_legacy_results_from_reception", + "crud_sample_reception_check_result_list_results_by_reception_ids", + "crud_sample_reception_check_result_py", + "crud_sample_reception_check_result_result_to_dict", + "crud_sample_reception_dec", + "crud_sample_reception_donation_ids_matching_lab_storage_keyword", + "crud_sample_reception_donation_rows_to_sample_list_items", + "crud_sample_reception_donation_sample_detail_rows_query", + "crud_sample_reception_donation_sample_id_col", + "crud_sample_reception_donation_sample_pending_query", + "crud_sample_reception_finalize_reception_detail", + "crud_sample_reception_fmt_dt", + "crud_sample_reception_format_lab_storage_codes_csv", + "crud_sample_reception_get_lab_storage_code_map_by_sample_codes", + "crud_sample_reception_get_reception_by_id", + "crud_sample_reception_get_reception_by_sample_code", + "crud_sample_reception_get_receptions_map_for_donation_samples", + "crud_sample_reception_get_receptions_map_for_samples", + "crud_sample_reception_lab_storage_keyword_like", + "crud_sample_reception_list_pending_protocol_samples", + "crud_sample_reception_list_received_protocol_samples", + "crud_sample_reception_normalize_date_bound", + "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", + "crud_sample_reception_py", + "crud_sample_reception_reception_detail_item", + "crud_sample_reception_reception_detail_item_with_production", + "crud_sample_reception_reception_ids_matching_lab_storage_keyword", + "crud_sample_reception_reception_sample_code", + "crud_sample_reception_reception_to_dict", + "crud_sample_reception_rows_to_sample_list_items", + "crud_sample_reception_sample_codes_matching_lab_storage_keyword", + "crud_sample_reception_sample_detail_rows_query", + "crud_sample_reception_sample_pending_query", + "crud_storage_entry_sms_notification_base_query", + "crud_storage_entry_sms_notification_ensure_notification", + "crud_storage_entry_sms_notification_fetch_sample_type_name", + "crud_storage_entry_sms_notification_fmt_dt", + "crud_storage_entry_sms_notification_generate_sms_content", + "crud_storage_entry_sms_notification_list_notifications", + "crud_storage_entry_sms_notification_normalize_date_bound", + "crud_storage_entry_sms_notification_py", + "crud_storage_entry_sms_notification_resolve_notification", + "crud_storage_entry_sms_notification_row_to_dict", + "crud_storage_entry_sms_notification_storage_status_label", + "crud_storage_entry_sms_notification_toggle_notification_status", + "crud_storage_entry_sms_notification_total_pages", + "crud_storage_entry_sms_notification_unicode_ci", + "services_protocol_payment_installment_add_days_yyyymmdd", + "services_protocol_payment_installment_add_interval_months_yyyymmdd", + "services_protocol_payment_installment_add_months_yyyymmdd", + "services_protocol_payment_installment_calc_fq_installment_due_date", + "services_protocol_payment_installment_calc_installment_due_amounts_by_ratios", + "services_protocol_payment_installment_calc_installment_due_amounts_inline", + "services_protocol_payment_installment_calc_unpaid_amounts_by_ratios", + "services_protocol_payment_installment_is_legacy_installment_ratios", + "services_protocol_payment_installment_parse_installment_ratios", + "services_protocol_payment_installment_py", + "services_protocol_payment_installment_rationale_1", + "services_protocol_payment_installment_rationale_138", + "services_protocol_payment_installment_rationale_160", + "services_protocol_payment_installment_rationale_45", + "services_protocol_payment_installment_rationale_70", + "services_protocol_payment_installment_resolve_installment_due_amounts", + "utils_sample_special_apply_inbound_sample_special_mark_fields", + "utils_sample_special_apply_sample_special_fields", + "utils_sample_special_apply_special_to_item_from_samples", + "utils_sample_special_py", + "utils_sample_special_rationale_42", + "utils_sample_special_sample_special_to_dict", + "utils_sample_special_truthy_flag", + "utils_sample_special_validate_sample_special_raw" + ], "5": [ "api_collection_protocol_auditcreatebody", "api_collection_protocol_batchdetailidsbody", @@ -3219,6 +3097,13 @@ "api_collection_protocol_rationale_83", "api_collection_protocol_refundfinanceconfirmbody", "api_collection_protocol_refundfinancesubmitbody", + "crud_cell_product_build_split_product_codes", + "crud_cell_product_create_cell_products_by_quantity", + "crud_cell_product_get_max_passage_product_seq", + "crud_cell_product_get_max_passage_product_seq_map", + "crud_cell_product_get_max_product_suffix_seq", + "crud_cell_product_normalize_passage_product_base", + "crud_cell_product_normalize_product_code_base", "crud_cell_product_rationale_1", "crud_cell_product_rationale_1169", "crud_cell_product_rationale_40", @@ -3249,6 +3134,8 @@ "crud_collection_protocol_rationale_589", "crud_collection_protocol_rationale_636", "crud_collection_protocol_rationale_75", + "crud_collection_region_rationale_234", + "crud_collection_region_rationale_29", "crud_inbound_sample_special_rationale_1", "crud_outbound_release_review_rationale_139", "crud_outbound_release_review_rationale_513", @@ -3288,7 +3175,7 @@ "crud_production_task_rationale_479", "crud_production_task_rationale_579", "crud_production_task_rationale_786", - "crud_production_work_order_create_production_work_order_from_reception", + "crud_production_task_step_sub_tables_to_dict", "crud_production_work_order_rationale_245", "crud_production_work_order_rationale_378", "crud_production_work_order_rationale_444", @@ -3302,29 +3189,23 @@ "crud_production_work_order_rationale_950", "crud_production_work_order_rationale_97", "crud_production_work_order_rationale_976", - "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_684", "crud_qc_inspection_batch_rationale_902", "crud_qc_sms_notification_rationale_32", - "crud_qc_task_rationale_1004", + "crud_qc_task_rationale_1018", "crud_qc_task_rationale_180", "crud_qc_task_rationale_709", - "crud_qc_task_rationale_775", - "crud_qc_task_rationale_910", - "crud_qc_task_rationale_972", + "crud_qc_task_rationale_767", + "crud_qc_task_rationale_791", + "crud_qc_task_rationale_924", + "crud_qc_task_rationale_986", "crud_qc_task_result_rationale_103", "crud_qc_task_result_rationale_43", "crud_qc_work_order_create_qc_work_order_manual", @@ -3378,10 +3259,6 @@ "crud_research_donation_rationale_91", "crud_research_donation_rationale_969", "crud_research_donation_sample_collection_rationale_1", - "crud_research_donation_submit_audit", - "crud_sample_reception_check_result_rationale_108", - "crud_sample_reception_check_result_rationale_133", - "crud_sample_reception_check_result_rationale_171", "crud_sample_reception_rationale_1018", "crud_sample_reception_rationale_1046", "crud_sample_reception_rationale_1205", @@ -3414,6 +3291,7 @@ "models_models_bizcellsampletype", "models_models_bizcollectionhospital", "models_models_bizcollectionprotocol", + "models_models_bizcollectionregion", "models_models_bizexpresscompany", "models_models_bizitemunit", "models_models_bizoutputtype", @@ -3446,7 +3324,6 @@ "models_models_bizqcworkorderlabitem", "models_models_bizqcworkorderthirditem", "models_models_bizsamplereception", - "models_models_bizsamplereceptioncheckresult", "models_models_bizstoragereleasereview", "models_models_bizstorageslotoccupancy", "models_research_donation_bizprotocoldonationconvert", @@ -3474,17 +3351,12 @@ "core_db_collation_rationale_12", "core_db_collation_rationale_7", "core_db_collation_unicode_ci", - "crud_outbound_release_review_batch_review", - "crud_outbound_release_review_dec", - "crud_outbound_release_review_fmt_dt", + "core_protocol_status_display_build_void_type_label_map", + "core_protocol_status_display_format_protocol_status_label", + "core_protocol_status_display_py", + "core_protocol_status_display_resolve_void_type_label", "crud_outbound_release_review_get_schedule_detail", - "crud_outbound_release_review_get_user_name", - "crud_outbound_release_review_list_reviews_paginated", - "crud_outbound_release_review_py", - "crud_outbound_release_review_resolve_schedule_biz_type", - "crud_outbound_release_review_review_schedule", - "crud_outbound_release_review_row_to_dict", - "crud_outbound_release_review_total_pages", + "crud_production_task_list_production_tasks", "crud_production_task_spawn_temporary_work_order_from_task", "crud_production_work_order_accept_conclusion_label", "crud_production_work_order_apply_planned_start_time_step_filter", @@ -3522,8 +3394,26 @@ "crud_production_work_order_update_production_work_order", "crud_production_work_order_wo_to_dict", "crud_production_work_order_wo_to_response_dict", + "crud_qc_inspection_batch_allocate_batch_name", + "crud_qc_inspection_batch_apply_assignees_to_batch_tasks", + "crud_qc_inspection_batch_assignee_names", + "crud_qc_inspection_batch_batch_assignee_user_ids", + "crud_qc_inspection_batch_batch_has_blocking_tasks", + "crud_qc_inspection_batch_batch_item_ids", + "crud_qc_inspection_batch_batch_to_dict", + "crud_qc_inspection_batch_build_inspection_batch_list", + "crud_qc_inspection_batch_configure_work_order_batches", + "crud_qc_inspection_batch_dec", "crud_qc_inspection_batch_list_inspection_batches", + "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", + "crud_qc_inspection_batch_next_batch_no", "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", + "crud_qc_inspection_batch_order_source_for_wo", + "crud_qc_inspection_batch_py", + "crud_qc_inspection_batch_soft_delete_batch", + "crud_qc_inspection_batch_sync_batch_assignees", + "crud_qc_inspection_batch_unique_ids", + "crud_qc_inspection_batch_validate_batch_payload", "crud_qc_task_apply_task_result", "crud_qc_task_assert_task_assignee", "crud_qc_task_assignee_active_users_in_tenant", @@ -3531,7 +3421,10 @@ "crud_qc_task_assignee_is_user_assignee", "crud_qc_task_assignee_list_assignees_by_task_ids", "crud_qc_task_assignee_py", + "crud_qc_task_assignee_rationale_63", "crud_qc_task_assignee_soft_delete_assignees_by_task_ids", + "crud_qc_task_assignee_sync_assignees_for_task", + "crud_qc_task_assignee_validate_assignee_user_ids", "crud_qc_task_complete_task", "crud_qc_task_conclusion_label", "crud_qc_task_create_qc_task_manual", @@ -3540,7 +3433,6 @@ "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", "crud_qc_task_enrich_tasks_reception_fields", "crud_qc_task_fmt_dt", - "crud_qc_task_gen_task_no", "crud_qc_task_get_task", "crud_qc_task_get_task_detail", "crud_qc_task_list_mine_tasks", @@ -3551,6 +3443,7 @@ "crud_qc_task_py", "crud_qc_task_refresh_work_order_item_flags", "crud_qc_task_require_dsfjc_attachments", + "crud_qc_task_resolve_task_result_conclusion", "crud_qc_task_set_task_remark", "crud_qc_task_soft_delete_source_line_for_task", "crud_qc_task_start_task", @@ -3630,7 +3523,6 @@ "crud_qc_work_order_update_temp_qc_work_order", "crud_qc_work_order_user_nick_name_map", "crud_qc_work_order_valid_qc_dispatch_output_type_ids", - "crud_qc_work_order_validate_cell_product_id", "crud_qc_work_order_wo_to_dict", "crud_qc_work_order_work_order_qc_biz_type", "crud_storage_release_review_batch_store_samples", @@ -3677,9 +3569,396 @@ "services_qc_work_order_fee_summary_sort_payment_details" ], "7": [ + "api_production_get_next_cell_product_code", + "crud_cell_product_ancestor_link_from_cell_product_input", + "crud_cell_product_ancestor_sample_chain_link", + "crud_cell_product_apply_cell_product_status_change", + "crud_cell_product_build_ancestor_chain", + "crud_cell_product_build_descendant_chain", + "crud_cell_product_build_facility_path_label", + "crud_cell_product_create_cell_product", + "crud_cell_product_create_cell_products_batch", + "crud_cell_product_delete_cell_product", + "crud_cell_product_donation_sample_chain_node", + "crud_cell_product_donation_sample_customer_dict", + "crud_cell_product_edge_meta", + "crud_cell_product_enrich_product_dicts", + "crud_cell_product_find_cell_product_by_input", + "crud_cell_product_find_donation_sample", + "crud_cell_product_find_protocol_sample", + "crud_cell_product_get_cell_product", + "crud_cell_product_get_next_code", + "crud_cell_product_get_product_chain", + "crud_cell_product_list_cell_products", + "crud_cell_product_nest_ancestor_parent", + "crud_cell_product_next_code_start_seq", + "crud_cell_product_product_code_exists", + "crud_cell_product_product_node", + "crud_cell_product_product_to_response", + "crud_cell_product_protocol_sample_chain_node", + "crud_cell_product_py", + "crud_cell_product_reserve_next_codes", + "crud_cell_product_row_to_dict", + "crud_cell_product_sample_customer_dict", + "crud_cell_product_sample_type_name_from_id", + "crud_cell_product_total_pages", + "crud_cell_product_update_cell_product", + "crud_cell_product_validate_batch_items", + "crud_equipment_snapshot_join_equipment_ids", + "crud_equipment_snapshot_parse_equipment_ids", + "crud_equipment_snapshot_py", + "crud_equipment_snapshot_rationale_1", + "crud_equipment_snapshot_rationale_29", + "crud_equipment_snapshot_resolve_equipment_list_snapshot", + "crud_outbound_handover_fmt_dt", + "crud_outbound_handover_get_handover_by_schedule", + "crud_outbound_handover_get_outbound_handover", + "crud_outbound_handover_get_outbound_handover_view", + "crud_outbound_handover_handover_row_to_dict", + "crud_outbound_handover_handover_view_dict", + "crud_outbound_handover_inventory_apply_handover_inventory", + "crud_outbound_handover_inventory_deduct_market_material_for_handover", + "crud_outbound_handover_inventory_get_cell_product_locked", + "crud_outbound_handover_inventory_handover_usage_remark", + "crud_outbound_handover_inventory_handover_usage_remark_prefix", + "crud_outbound_handover_inventory_py", + "crud_outbound_handover_inventory_remove_cell_occupancy_no_commit", + "crud_outbound_handover_inventory_restore_cell_occupancy_no_commit", + "crud_outbound_handover_inventory_revert_handover_inventory", + "crud_outbound_handover_inventory_revert_legacy_qc_handover_usages", + "crud_outbound_handover_inventory_revert_market_handover_usages", + "crud_outbound_handover_parse_handover_time", + "crud_outbound_handover_py", + "crud_outbound_handover_rationale_103", + "crud_outbound_handover_rationale_113", + "crud_outbound_handover_rationale_147", + "crud_outbound_handover_save_outbound_handover", + "crud_outbound_release_material_cell_row_to_dict", + "crud_outbound_release_material_enrich_cell_dicts_with_live_status", + "crud_outbound_release_material_find_outbound_cell_row", + "crud_outbound_release_material_find_outbound_qc_material_row", + "crud_outbound_release_material_fmt_dt", + "crud_outbound_release_material_get_outbound_material", + "crud_outbound_release_material_get_schedule", + "crud_outbound_release_material_legacy_paper_rows_from_attachments", + "crud_outbound_release_material_material_header_to_dict", + "crud_outbound_release_material_paper_row_to_dict", + "crud_outbound_release_material_py", + "crud_outbound_release_material_qc_material_row_to_dict", + "crud_outbound_release_material_save_outbound_material", + "crud_outbound_release_material_soft_delete_outbound_cells_not_in", + "crud_outbound_release_material_soft_delete_outbound_qc_materials_not_in", + "crud_pilot_infusion_schedule_mgmt_create_settlement_txn", + "crud_pilot_infusion_schedule_mgmt_deduct_fee_on_complete", + "crud_pilot_infusion_schedule_mgmt_find_existing_settlement_txn", + "crud_pilot_infusion_schedule_mgmt_find_service_order_product", + "crud_pilot_infusion_schedule_mgmt_get_infusion_schedule_detail", + "crud_pilot_infusion_schedule_mgmt_get_plan_schedule_course_meta", + "crud_pilot_infusion_schedule_mgmt_get_products_for_schedule", + "crud_pilot_infusion_schedule_mgmt_list_infusion_schedules_mgmt", + "crud_pilot_infusion_schedule_mgmt_py", + "crud_pilot_infusion_schedule_mgmt_resolve_course_display", + "crud_pilot_infusion_schedule_mgmt_resolve_yfk_unit_price", + "crud_pilot_infusion_schedule_mgmt_row_to_dict_product", + "crud_pilot_infusion_schedule_mgmt_row_to_dict_schedule", + "crud_pilot_infusion_schedule_mgmt_schedule_product_to_txn_item", + "crud_pilot_infusion_schedule_mgmt_settlement_remark_marker", + "crud_pilot_infusion_schedule_mgmt_settlement_remark_markers_for_lookup", + "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", + "crud_pilot_infusion_schedule_mgmt_update_infusion_status", + "crud_pilot_infusion_schedule_mgmt_update_qc_status", + "crud_production_material_usage_deduct_step_usage_legacy_batch", + "crud_production_material_usage_register_step_usage_from_requisition", + "crud_production_material_usage_revert_step_material_usages", + "crud_production_task_add_task_step", + "crud_production_task_aggregate_production_tab_step_field", + "crud_production_task_assert_step_assignee_for_write", + "crud_production_task_assert_task_assignee", + "crud_production_task_assert_task_step_assignee_or_legacy", + "crud_production_task_base_active_step_count_query", + "crud_production_task_batch_load_step_sub_tables", + "crud_production_task_clone_route_to_task", + "crud_production_task_clone_step_consumables", + "crud_production_task_clone_step_data_collections", + "crud_production_task_clone_step_outputs", + "crud_production_task_clone_step_reagents", + "crud_production_task_consume_task_input_cell_products", + "crud_production_task_count_mine_production_work_order_tab_step_badges", + "crud_production_task_count_production_work_order_tab_step_badges", + "crud_production_task_count_step_tab_badges_by_tab", + "crud_production_task_create_occupancy_for_product", + "crud_production_task_create_production_task", + "crud_production_task_delete_production_task", + "crud_production_task_delete_task_step", + "crud_production_task_empty_production_tab_step_counts", + "crud_production_task_empty_step_sub_tables", + "crud_production_task_enrich_handover_times", + "crud_production_task_enrich_outbound_task_items", + "crud_production_task_fmt_dt", + "crud_production_task_forward_production_task", + "crud_production_task_generate_task_no", + "crud_production_task_get_production_task_detail", + "crud_production_task_get_production_task_row", + "crud_production_task_list_mine_production_tasks", + "crud_production_task_normalize_date_bound", + "crud_production_task_output_item_has_spec", + "crud_production_task_output_item_spec_text", + "crud_production_task_parse_optional_date", + "crud_production_task_production_conclusion_label", + "crud_production_task_py", + "crud_production_task_reassign_production_task", + "crud_production_task_record_task_handover", + "crud_production_task_reorder_task_steps", + "crud_production_task_replace_step_configured_reagents", + "crud_production_task_replace_step_consumables", + "crud_production_task_replace_step_data_collections", + "crud_production_task_replace_step_outputs", + "crud_production_task_replace_step_reagents", + "crud_production_task_require_requisition_for_catalog_material", + "crud_production_task_resolve_production_tab_key", + "crud_production_task_resolve_sub_table_order_num", + "crud_production_task_set_task_inputs", + "crud_production_task_set_task_outputs", + "crud_production_task_soft_delete_sub", + "crud_production_task_step_assignee_active_users_in_tenant", + "crud_production_task_step_assignee_active_users_with_role_in_tenant", + "crud_production_task_step_assignee_enrich_step_assignees", + "crud_production_task_step_assignee_enrich_step_completed_by_names", + "crud_production_task_step_assignee_py", + "crud_production_task_step_assignee_sync_assignees_for_step", + "crud_production_task_step_assignee_user_is_any_step_assignee_of_task", + "crud_production_task_step_assignee_user_is_step_assignee", + "crud_production_task_step_assignee_validate_assignee_user_ids", + "crud_production_task_step_configured_reagent_to_dict", + "crud_production_task_step_consumable_to_dict", + "crud_production_task_step_data_collection_to_dict", + "crud_production_task_step_output_to_dict", + "crud_production_task_step_reagent_to_dict", + "crud_production_task_step_to_dict", + "crud_production_task_task_input_to_dict", + "crud_production_task_task_output_to_dict", + "crud_production_task_task_to_dict", + "crud_production_task_total_pages", + "crud_production_task_update_product_from_output", + "crud_production_task_update_production_task", + "crud_production_task_update_task_status", + "crud_production_task_validate_assignee_user_id", + "crud_production_work_order_apply_exclude_inactive_protocol_filter", + "crud_production_work_order_sync_production_work_order_status_from_tasks", + "crud_qc_work_order_validate_cell_product_id", + "crud_storage_occupancy_add_stored_occupancy_no_commit", + "crud_storage_occupancy_assert_batch_slots_unique", + "crud_storage_occupancy_assert_slot_vacant", + "crud_storage_occupancy_attach_cell_product_fields", + "crud_storage_occupancy_batch_create_occupancies", + "crud_storage_occupancy_create_occupancy", + "crud_storage_occupancy_enrich_occupancy_items", + "crud_storage_occupancy_enrich_slots_with_stored_cell_products", + "crud_storage_occupancy_list_occupancies", + "crud_storage_occupancy_list_occupancy_history", + "crud_storage_occupancy_load_cell_product_map", + "crud_storage_occupancy_py", + "crud_storage_occupancy_refresh_slot_cache", + "crud_storage_occupancy_remove_by_item", + "crud_storage_occupancy_remove_by_item_no_commit", + "crud_storage_occupancy_remove_occupancy", + "crud_storage_occupancy_row_to_dict" + ], + "8": [ + "api_ethnic_list_ethnics_for_select", + "api_ethnic_py", + "core_data_scope_apply_data_scope", + "core_data_scope_get_child_dept_ids", + "core_data_scope_get_user_dept_id", + "core_data_scope_py", + "core_data_scope_resolve_user_role_scopes", + "crud_api_request_log_apirequestlogcrud", + "crud_api_request_log_delete", + "crud_api_request_log_get", + "crud_api_request_log_get_multi_with_filters", + "crud_api_request_log_py", + "crud_base_crudbase_count", + "crud_collection_protocol_count_pending_protocol_invoice_requests", + "crud_collection_protocol_invoice_request_list_query", + "crud_collection_protocol_list_protocol_invoice_requests", + "crud_consumable_pack_create_consumable_pack", + "crud_consumable_pack_get_consumable_pack", + "crud_consumable_pack_get_pack_detail", + "crud_consumable_pack_item_row_to_dict", + "crud_consumable_pack_list_all_packs", + "crud_consumable_pack_list_consumable_packs", + "crud_consumable_pack_pack_code_exists", + "crud_consumable_pack_py", + "crud_consumable_pack_rationale_1", + "crud_consumable_pack_row_to_dict", + "crud_consumable_pack_soft_delete_consumable_pack", + "crud_consumable_pack_total_pages", + "crud_consumable_pack_update_consumable_pack", + "crud_ethnic_list_ethnics", + "crud_ethnic_py", + "crud_ethnic_rationale_1", + "crud_ethnic_row_to_dict", + "crud_leave_create_leave", + "crud_leave_get_leave", + "crud_leave_list_leaves", + "crud_leave_py", + "crud_leave_row_to_dict", + "crud_leave_soft_delete_leave", + "crud_leave_total_pages", + "crud_leave_update_leave", + "crud_material_stock_log_dec", + "crud_material_stock_log_fmt_dt", + "crud_material_stock_log_list_stock_logs", + "crud_material_stock_log_py", + "crud_material_stock_log_row_to_dict", + "crud_material_stock_log_user_nick_name_map", + "crud_material_usage_amount_for_row", + "crud_material_usage_batch_map", + "crud_material_usage_display_remark", + "crud_material_usage_fmt_date_val", + "crud_material_usage_list_stock_check_requisitions", + "crud_material_usage_list_usages", + "crud_material_usage_list_usages_query", + "crud_material_usage_mark_requisition_fully_used", + "crud_material_usage_paginate_usages", + "crud_material_usage_parse_receiver_purpose_from_remark", + "crud_material_usage_py", + "crud_material_usage_rationale_302", + "crud_material_usage_receiver_display_map", + "crud_material_usage_resolve_receiver_purpose", + "crud_material_usage_row_to_dict", + "crud_material_usage_stock_in_date_for_row", + "crud_material_usage_unit_price_for_row", + "crud_material_usage_usage_unit_label", + "crud_material_usage_user_nick_name_map", + "crud_menu_build_tree", + "crud_menu_cascade_soft_delete", + "crud_menu_get_menu", + "crud_menu_list_menus", + "crud_menu_list_menus_tree", + "crud_menu_menu_name_exists", + "crud_menu_py", + "crud_menu_row_to_dict", + "crud_menu_soft_delete_menu", + "crud_menu_update_menu", + "crud_outbound_release_review_batch_review", + "crud_outbound_release_review_dec", + "crud_outbound_release_review_fmt_dt", + "crud_outbound_release_review_get_user_name", + "crud_outbound_release_review_list_reviews_paginated", + "crud_outbound_release_review_py", + "crud_outbound_release_review_resolve_schedule_biz_type", + "crud_outbound_release_review_review_schedule", + "crud_outbound_release_review_row_to_dict", + "crud_outbound_release_review_total_pages", + "crud_pilot_service_list_cell_product_types", + "crud_pilot_service_list_channel_agreement_prices", + "crud_pilot_service_list_channel_agreements", + "crud_pilot_service_list_channel_invoices", + "crud_pilot_service_list_channel_mail_addresses", + "crud_pilot_service_list_checkup_institution_invoices", + "crud_pilot_service_list_checkup_institution_projects", + "crud_pilot_service_list_project_system_items", + "crud_production_material_filter_material_type", + "crud_production_material_usage_amount_for_row", + "crud_production_material_usage_batch_map", + "crud_production_material_usage_display_remark", + "crud_production_material_usage_fmt_date_val", + "crud_production_material_usage_list_available_requisitions_for_prep", + "crud_production_material_usage_list_linked_step_usages", + "crud_production_material_usage_list_my_prep_consumptions", + "crud_production_material_usage_list_my_usages", + "crud_production_material_usage_list_prep_consumptions", + "crud_production_material_usage_list_requisition_options", + "crud_production_material_usage_list_stock_check_requisitions", + "crud_production_material_usage_list_usages", + "crud_production_material_usage_list_usages_by_step", + "crud_production_material_usage_list_usages_query", + "crud_production_material_usage_mark_requisition_fully_used", + "crud_production_material_usage_mine_usage_filter", + "crud_production_material_usage_paginate_usages", + "crud_production_material_usage_parse_receiver_purpose_from_remark", + "crud_production_material_usage_prep_consumption_to_dict", + "crud_production_material_usage_py", + "crud_production_material_usage_receiver_display_map", + "crud_production_material_usage_record_step_usage_from_requisition", + "crud_production_material_usage_resolve_receiver_purpose", + "crud_production_material_usage_row_to_dict", + "crud_production_material_usage_step_consumed_qty_map", + "crud_production_material_usage_stock_in_date_for_row", + "crud_production_material_usage_unit_price_for_row", + "crud_production_material_usage_usage_unit_label", + "crud_production_material_usage_user_nick_name_map", + "crud_qc_material_usage_amount_for_row", + "crud_qc_material_usage_batch_map", + "crud_qc_material_usage_deduct_for_task", + "crud_qc_material_usage_deduct_task_usage_legacy_batch", + "crud_qc_material_usage_display_remark", + "crud_qc_material_usage_fmt_date_val", + "crud_qc_material_usage_linked_qc_task_no_map", + "crud_qc_material_usage_list_linked_task_usages", + "crud_qc_material_usage_list_my_usages", + "crud_qc_material_usage_list_requisition_options", + "crud_qc_material_usage_list_stock_check_requisitions", + "crud_qc_material_usage_list_usages", + "crud_qc_material_usage_list_usages_by_task", + "crud_qc_material_usage_list_usages_query", + "crud_qc_material_usage_mine_usage_filter", + "crud_qc_material_usage_paginate_usages", + "crud_qc_material_usage_parse_receiver_purpose_from_remark", + "crud_qc_material_usage_py", + "crud_qc_material_usage_receiver_display_map", + "crud_qc_material_usage_record_task_usage_from_requisition", + "crud_qc_material_usage_resolve_receiver_purpose", + "crud_qc_material_usage_revert_task_material_usages", + "crud_qc_material_usage_row_to_dict", + "crud_qc_material_usage_stock_in_date_for_row", + "crud_qc_material_usage_task_consumed_qty_map", + "crud_qc_material_usage_unit_price_for_row", + "crud_qc_material_usage_usage_unit_label", + "crud_qc_material_usage_user_nick_name_map", + "crud_qc_sms_notification_apply_qc_status_filter", + "crud_qc_sms_notification_base_query", + "crud_qc_sms_notification_derive_qc_conclusion", + "crud_qc_sms_notification_ensure_notification", + "crud_qc_sms_notification_eq_ci", + "crud_qc_sms_notification_fetch_completed_tasks", + "crud_qc_sms_notification_fmt_dt", + "crud_qc_sms_notification_generate_sms_content", + "crud_qc_sms_notification_list_notifications", + "crud_qc_sms_notification_normalize_date_bound", + "crud_qc_sms_notification_py", + "crud_qc_sms_notification_qc_complete_time", + "crud_qc_sms_notification_qc_status_label", + "crud_qc_sms_notification_resolve_notification", + "crud_qc_sms_notification_row_to_dict", + "crud_qc_sms_notification_task_stats_subquery", + "crud_qc_sms_notification_toggle_notification_status", + "crud_qc_sms_notification_total_pages", + "crud_qc_sms_notification_unicode_ci", + "crud_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_workflow_list_completed_tasks", + "crud_workflow_list_pending_tasks", + "crud_workflow_task_row_to_dict" + ], + "9": [ "api_workflow_get_designer_data", "app_main_error_json", "app_main_health_check", + "app_main_lifespan", "app_main_mask_secret", "app_main_rationale_81", "app_main_rationale_92", @@ -3818,9 +4097,7 @@ "crud_workflow_get_process_def", "crud_workflow_get_task", "crud_workflow_get_transitions_by_version", - "crud_workflow_list_completed_tasks", "crud_workflow_list_my_instances", - "crud_workflow_list_pending_tasks", "crud_workflow_list_process_defs", "crud_workflow_list_versions", "crud_workflow_process_code_exists", @@ -3828,7 +4105,6 @@ "crud_workflow_py", "crud_workflow_row_to_dict", "crud_workflow_soft_delete_process_def", - "crud_workflow_task_row_to_dict", "crud_workflow_total_pages", "crud_workflow_update_instance_status", "crud_workflow_update_process_def", @@ -3857,19 +4133,19 @@ "services_workflow_engine_workflowengine_init", "services_workflow_engine_workflowengine_reject_task", "services_workflow_engine_workflowengine_resolve_approvers", - "services_workflow_engine_workflowengine_start_process" + "services_workflow_engine_workflowengine_start_process", + "tasks_init_init_scheduled_tasks", + "tasks_init_py", + "tasks_init_shutdown_scheduler" ], - "8": [ + "10": [ "api_oa_approval_rationale_530", "api_oa_approval_rationale_562", "crud_oa_approval_app_to_dict", "crud_oa_approval_create_app", - "crud_oa_approval_create_group", - "crud_oa_approval_create_role", "crud_oa_approval_create_version", "crud_oa_approval_delete_app", "crud_oa_approval_delete_group", - "crud_oa_approval_delete_role", "crud_oa_approval_dumps", "crud_oa_approval_ensure_presets", "crud_oa_approval_find_draft", @@ -3877,28 +4153,15 @@ "crud_oa_approval_get_app", "crud_oa_approval_get_group", "crud_oa_approval_get_or_create_draft", - "crud_oa_approval_get_role", "crud_oa_approval_list_apps", "crud_oa_approval_list_oa_role_user_ids", "crud_oa_approval_loads", "crud_oa_approval_py", - "crud_oa_approval_rationale_1", - "crud_oa_approval_rationale_66", - "crud_oa_approval_replace_role_users", "crud_oa_approval_save_draft", "crud_oa_approval_update_app", "crud_oa_approval_update_group", - "crud_oa_approval_update_role", "crud_oa_approval_version_draft_to_dict", - "models_models_oaapp", - "models_models_oaappversion", - "models_models_oainstance", - "models_models_oainstanceevent", - "models_models_oarelation", - "models_models_oarole", - "models_models_oatask", "services_oa_assignee_active_user_id", - "services_oa_assignee_assigneeresolveerror", "services_oa_assignee_py", "services_oa_assignee_rationale_1", "services_oa_assignee_rationale_97", @@ -3946,26 +4209,6 @@ "services_oa_engine_preview_start_flow", "services_oa_engine_progress_person", "services_oa_engine_py", - "services_oa_engine_rationale_1031", - "services_oa_engine_rationale_1150", - "services_oa_engine_rationale_120", - "services_oa_engine_rationale_1325", - "services_oa_engine_rationale_145", - "services_oa_engine_rationale_158", - "services_oa_engine_rationale_1765", - "services_oa_engine_rationale_1880", - "services_oa_engine_rationale_1962", - "services_oa_engine_rationale_215", - "services_oa_engine_rationale_258", - "services_oa_engine_rationale_315", - "services_oa_engine_rationale_357", - "services_oa_engine_rationale_438", - "services_oa_engine_rationale_456", - "services_oa_engine_rationale_476", - "services_oa_engine_rationale_52", - "services_oa_engine_rationale_69", - "services_oa_engine_rationale_939", - "services_oa_engine_rationale_956", "services_oa_engine_resubmit_instance", "services_oa_engine_return_task", "services_oa_engine_role_name_map", @@ -3980,7 +4223,6 @@ "services_oa_formula_apply_formulas_and_linkages", "services_oa_formula_eval_formula", "services_oa_formula_extract_rules", - "services_oa_formula_formulaerror", "services_oa_formula_preprocess_formula", "services_oa_formula_py", "services_oa_formula_rationale_1", @@ -4023,257 +4265,6 @@ "services_oa_publish_validate_oa_roles_referenced", "services_oa_publish_walk_form_rules" ], - "9": [ - "crud_base_crudbase_update", - "crud_clinical_payment_auto_create_payment", - "crud_collection_protocol_get_protocol_nos_used_in_protocols", - "crud_outbound_handover_fmt_dt", - "crud_outbound_handover_get_handover_by_schedule", - "crud_outbound_handover_get_outbound_handover", - "crud_outbound_handover_get_outbound_handover_view", - "crud_outbound_handover_handover_row_to_dict", - "crud_outbound_handover_handover_view_dict", - "crud_outbound_handover_parse_handover_time", - "crud_outbound_handover_py", - "crud_outbound_handover_rationale_103", - "crud_outbound_handover_rationale_113", - "crud_outbound_handover_rationale_147", - "crud_outbound_handover_save_outbound_handover", - "crud_outbound_release_material_cell_row_to_dict", - "crud_outbound_release_material_enrich_cell_dicts_with_live_status", - "crud_outbound_release_material_find_outbound_cell_row", - "crud_outbound_release_material_find_outbound_qc_material_row", - "crud_outbound_release_material_fmt_dt", - "crud_outbound_release_material_get_outbound_material", - "crud_outbound_release_material_get_schedule", - "crud_outbound_release_material_legacy_paper_rows_from_attachments", - "crud_outbound_release_material_material_header_to_dict", - "crud_outbound_release_material_paper_row_to_dict", - "crud_outbound_release_material_py", - "crud_outbound_release_material_qc_material_row_to_dict", - "crud_outbound_release_material_save_outbound_material", - "crud_outbound_release_material_soft_delete_outbound_cells_not_in", - "crud_outbound_release_material_soft_delete_outbound_qc_materials_not_in", - "crud_pilot_application_complete_application", - "crud_pilot_application_create_basic_experiment_sale_schedules", - "crud_pilot_application_create_infusion_plan", - "crud_pilot_application_create_schedule", - "crud_pilot_application_create_schedule_products", - "crud_pilot_application_format_yyyy_mm_dd", - "crud_pilot_application_generate_application_no", - "crud_pilot_application_get_application", - "crud_pilot_application_get_or_create_infusion_plan", - "crud_pilot_application_get_patient_by_application", - "crud_pilot_application_get_schedule_for_plan", - "crud_pilot_application_list_applications", - "crud_pilot_application_list_infusion_plans", - "crud_pilot_application_list_schedules_by_plan", - "crud_pilot_application_mark_schedule_complete", - "crud_pilot_application_normalize_infusion_status_code", - "crud_pilot_application_normalize_yyyymmdd", - "crud_pilot_application_parse_infusion_datetime", - "crud_pilot_application_prepare_infusion_plan_payload", - "crud_pilot_application_py", - "crud_pilot_application_release_application_no_for_soft_delete", - "crud_pilot_application_row_to_dict_application", - "crud_pilot_application_row_to_dict_infusion_plan", - "crud_pilot_application_row_to_dict_infusion_schedule", - "crud_pilot_application_row_to_dict_patient", - "crud_pilot_application_row_to_dict_schedule_product", - "crud_pilot_application_save_application_infusion", - "crud_pilot_application_schedule_deletable", - "crud_pilot_application_schedule_has_blocking_links", - "crud_pilot_application_schedule_infusion_editable", - "crud_pilot_application_schedule_locked", - "crud_pilot_application_soft_delete_application", - "crud_pilot_application_soft_delete_infusion_plan", - "crud_pilot_application_soft_delete_schedule", - "crud_pilot_application_start_application", - "crud_pilot_application_update_infusion_plan", - "crud_pilot_application_update_schedule", - "crud_pilot_application_update_schedule_editable", - "crud_pilot_application_update_schedule_order_only", - "crud_pilot_application_upsert_application_infusion", - "crud_pilot_application_upsert_schedule_products", - "crud_pilot_application_void_application", - "crud_pilot_checkup_batch_create_checkups", - "crud_pilot_checkup_create_checkup", - "crud_pilot_checkup_delete_actual_item", - "crud_pilot_checkup_delete_reserve_item", - "crud_pilot_checkup_generate_checkup_no", - "crud_pilot_checkup_get_checkup_by_id", - "crud_pilot_checkup_list_actual_items", - "crud_pilot_checkup_list_checkups_paginated", - "crud_pilot_checkup_list_pending_patients", - "crud_pilot_checkup_list_reserve_items", - "crud_pilot_checkup_mark_checkup_checked", - "crud_pilot_checkup_parse_optional_datetime", - "crud_pilot_checkup_py", - "crud_pilot_checkup_remove_checkup_for_patient", - "crud_pilot_checkup_row_to_dict_actual_item", - "crud_pilot_checkup_row_to_dict_checkup", - "crud_pilot_checkup_row_to_dict_reserve_item", - "crud_pilot_checkup_save_actual_items", - "crud_pilot_checkup_save_reserve_items", - "crud_pilot_checkup_settle_checkup_fee", - "crud_pilot_checkup_soft_delete_checkup", - "crud_pilot_checkup_update_checkup", - "crud_pilot_infusion_schedule_mgmt_create_settlement_txn", - "crud_pilot_infusion_schedule_mgmt_deduct_fee_on_complete", - "crud_pilot_infusion_schedule_mgmt_find_existing_settlement_txn", - "crud_pilot_infusion_schedule_mgmt_find_service_order_product", - "crud_pilot_infusion_schedule_mgmt_get_infusion_schedule_detail", - "crud_pilot_infusion_schedule_mgmt_get_plan_schedule_course_meta", - "crud_pilot_infusion_schedule_mgmt_get_products_for_schedule", - "crud_pilot_infusion_schedule_mgmt_list_infusion_schedules_mgmt", - "crud_pilot_infusion_schedule_mgmt_py", - "crud_pilot_infusion_schedule_mgmt_resolve_course_display", - "crud_pilot_infusion_schedule_mgmt_resolve_yfk_unit_price", - "crud_pilot_infusion_schedule_mgmt_row_to_dict_product", - "crud_pilot_infusion_schedule_mgmt_row_to_dict_schedule", - "crud_pilot_infusion_schedule_mgmt_schedule_product_to_txn_item", - "crud_pilot_infusion_schedule_mgmt_settlement_remark_marker", - "crud_pilot_infusion_schedule_mgmt_settlement_remark_markers_for_lookup", - "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", - "crud_pilot_infusion_schedule_mgmt_update_infusion_status", - "crud_pilot_infusion_schedule_mgmt_update_qc_status", - "crud_pilot_outbound_status_sync_get_schedule", - "crud_pilot_outbound_status_sync_is_pilot_outbound_production", - "crud_pilot_outbound_status_sync_is_pilot_outbound_qc", - "crud_pilot_outbound_status_sync_py", - "crud_pilot_outbound_status_sync_sync_pilot_outbound_from_schedule", - "crud_pilot_outbound_status_sync_sync_production_work_order_from_schedule", - "crud_pilot_outbound_status_sync_sync_qc_work_order_from_schedule", - "crud_pilot_outbound_status_sync_sync_schedule_from_production_work_order", - "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", - "crud_pilot_outbound_status_sync_touch", - "crud_storage_facility_clear_slots_by_facility_node" - ], - "10": [ - "core_protocol_status_display_build_void_type_label_map", - "core_protocol_status_display_format_protocol_status_label", - "core_protocol_status_display_py", - "core_protocol_status_display_resolve_void_type_label", - "crud_equipment_snapshot_join_equipment_ids", - "crud_equipment_snapshot_parse_equipment_ids", - "crud_equipment_snapshot_py", - "crud_equipment_snapshot_rationale_1", - "crud_equipment_snapshot_rationale_29", - "crud_equipment_snapshot_resolve_equipment_list_snapshot", - "crud_production_material_filter_material_type", - "crud_production_material_usage_amount_for_row", - "crud_production_material_usage_batch_map", - "crud_production_material_usage_deduct_step_usage_legacy_batch", - "crud_production_material_usage_display_remark", - "crud_production_material_usage_fmt_date_val", - "crud_production_material_usage_list_available_requisitions_for_prep", - "crud_production_material_usage_list_linked_step_usages", - "crud_production_material_usage_list_my_prep_consumptions", - "crud_production_material_usage_list_my_usages", - "crud_production_material_usage_list_prep_consumptions", - "crud_production_material_usage_list_requisition_options", - "crud_production_material_usage_list_stock_check_requisitions", - "crud_production_material_usage_list_usages", - "crud_production_material_usage_list_usages_by_step", - "crud_production_material_usage_list_usages_query", - "crud_production_material_usage_mark_requisition_fully_used", - "crud_production_material_usage_mine_usage_filter", - "crud_production_material_usage_paginate_usages", - "crud_production_material_usage_parse_receiver_purpose_from_remark", - "crud_production_material_usage_prep_consumption_to_dict", - "crud_production_material_usage_py", - "crud_production_material_usage_receiver_display_map", - "crud_production_material_usage_record_step_usage_from_requisition", - "crud_production_material_usage_register_step_usage_from_requisition", - "crud_production_material_usage_resolve_receiver_purpose", - "crud_production_material_usage_revert_step_material_usages", - "crud_production_material_usage_row_to_dict", - "crud_production_material_usage_step_consumed_qty_map", - "crud_production_material_usage_stock_in_date_for_row", - "crud_production_material_usage_unit_price_for_row", - "crud_production_material_usage_usage_unit_label", - "crud_production_material_usage_user_nick_name_map", - "crud_production_task_add_task_step", - "crud_production_task_aggregate_production_tab_step_field", - "crud_production_task_assert_step_assignee_for_write", - "crud_production_task_assert_task_assignee", - "crud_production_task_assert_task_step_assignee_or_legacy", - "crud_production_task_base_active_step_count_query", - "crud_production_task_batch_load_step_sub_tables", - "crud_production_task_clone_route_to_task", - "crud_production_task_clone_step_consumables", - "crud_production_task_clone_step_data_collections", - "crud_production_task_clone_step_outputs", - "crud_production_task_clone_step_reagents", - "crud_production_task_consume_task_input_cell_products", - "crud_production_task_count_mine_production_work_order_tab_step_badges", - "crud_production_task_count_production_work_order_tab_step_badges", - "crud_production_task_count_step_tab_badges_by_tab", - "crud_production_task_create_production_task", - "crud_production_task_delete_production_task", - "crud_production_task_delete_task_step", - "crud_production_task_dispatch_task_steps", - "crud_production_task_empty_production_tab_step_counts", - "crud_production_task_empty_step_sub_tables", - "crud_production_task_enrich_assignee_names", - "crud_production_task_enrich_handover_times", - "crud_production_task_enrich_outbound_task_items", - "crud_production_task_enrich_tasks_with_step_summaries", - "crud_production_task_fmt_dt", - "crud_production_task_forward_production_task", - "crud_production_task_generate_task_no", - "crud_production_task_get_production_task_detail", - "crud_production_task_get_production_task_row", - "crud_production_task_list_mine_production_tasks", - "crud_production_task_list_production_tasks", - "crud_production_task_normalize_date_bound", - "crud_production_task_output_item_has_spec", - "crud_production_task_output_item_spec_text", - "crud_production_task_parse_optional_date", - "crud_production_task_production_conclusion_label", - "crud_production_task_py", - "crud_production_task_reassign_production_task", - "crud_production_task_record_task_handover", - "crud_production_task_reorder_task_steps", - "crud_production_task_replace_step_configured_reagents", - "crud_production_task_replace_step_consumables", - "crud_production_task_replace_step_data_collections", - "crud_production_task_replace_step_outputs", - "crud_production_task_replace_step_reagents", - "crud_production_task_require_requisition_for_catalog_material", - "crud_production_task_resolve_production_tab_key", - "crud_production_task_resolve_sub_table_order_num", - "crud_production_task_set_task_inputs", - "crud_production_task_set_task_outputs", - "crud_production_task_soft_delete_sub", - "crud_production_task_step_assignee_active_users_in_tenant", - "crud_production_task_step_assignee_active_users_with_role_in_tenant", - "crud_production_task_step_assignee_enrich_step_assignees", - "crud_production_task_step_assignee_enrich_step_completed_by_names", - "crud_production_task_step_assignee_py", - "crud_production_task_step_assignee_sync_assignees_for_step", - "crud_production_task_step_assignee_user_is_any_step_assignee_of_task", - "crud_production_task_step_assignee_user_is_step_assignee", - "crud_production_task_step_assignee_validate_assignee_user_ids", - "crud_production_task_step_configured_reagent_to_dict", - "crud_production_task_step_consumable_to_dict", - "crud_production_task_step_data_collection_to_dict", - "crud_production_task_step_output_to_dict", - "crud_production_task_step_reagent_to_dict", - "crud_production_task_step_sub_tables_to_dict", - "crud_production_task_step_to_dict", - "crud_production_task_task_input_to_dict", - "crud_production_task_task_output_to_dict", - "crud_production_task_task_to_dict", - "crud_production_task_total_pages", - "crud_production_task_update_product_from_output", - "crud_production_task_update_production_task", - "crud_production_task_update_task_status", - "crud_production_task_validate_assignee_user_id", - "crud_production_work_order_apply_exclude_inactive_protocol_filter", - "crud_production_work_order_sync_production_work_order_status_from_tasks", - "crud_storage_occupancy_remove_by_item" - ], "11": [ "api_operations_accesslogcreatebody", "api_operations_accesslogupdatebody", @@ -4281,7 +4272,6 @@ "api_operations_cleanroomupdatebody", "api_operations_exhibitionappointmentcreatebody", "api_operations_exhibitionappointmentupdatebody", - "api_operations_list_storage_slot_stats", "api_operations_occupancycreatebody", "api_operations_rationale_1", "api_operations_rationale_621", @@ -4296,7 +4286,6 @@ "api_operations_uvdisinfectlogupdatebody", "crud_clean_room_rationale_1", "crud_exhibition_appointment_appointment_no_exists", - "crud_exhibition_appointment_create_exhibition_appointment", "crud_exhibition_appointment_format_visit_date", "crud_exhibition_appointment_generate_appointment_no", "crud_exhibition_appointment_get_exhibition_appointment", @@ -4317,7 +4306,6 @@ "crud_storage_facility_collect_descendant_ids", "crud_storage_facility_collect_slot_host_node_ids", "crud_storage_facility_create_facility", - "crud_storage_facility_create_slot", "crud_storage_facility_ensure_slot_layout_order", "crud_storage_facility_exact_node_ids_for_path", "crud_storage_facility_facility_node_ids_matching_keyword", @@ -4384,6 +4372,84 @@ "services_storage_facility_code_validate_node_code" ], "12": [ + "crud_pilot_application_complete_application", + "crud_pilot_application_create_basic_experiment_sale_schedules", + "crud_pilot_application_create_infusion_plan", + "crud_pilot_application_create_schedule", + "crud_pilot_application_create_schedule_products", + "crud_pilot_application_format_yyyy_mm_dd", + "crud_pilot_application_generate_application_no", + "crud_pilot_application_get_application", + "crud_pilot_application_get_or_create_infusion_plan", + "crud_pilot_application_get_patient_by_application", + "crud_pilot_application_get_schedule_for_plan", + "crud_pilot_application_list_applications", + "crud_pilot_application_list_infusion_plans", + "crud_pilot_application_list_schedules_by_plan", + "crud_pilot_application_mark_schedule_complete", + "crud_pilot_application_normalize_infusion_status_code", + "crud_pilot_application_normalize_yyyymmdd", + "crud_pilot_application_parse_infusion_datetime", + "crud_pilot_application_prepare_infusion_plan_payload", + "crud_pilot_application_py", + "crud_pilot_application_release_application_no_for_soft_delete", + "crud_pilot_application_row_to_dict_application", + "crud_pilot_application_row_to_dict_infusion_plan", + "crud_pilot_application_row_to_dict_infusion_schedule", + "crud_pilot_application_row_to_dict_patient", + "crud_pilot_application_row_to_dict_schedule_product", + "crud_pilot_application_save_application_infusion", + "crud_pilot_application_save_patient", + "crud_pilot_application_schedule_deletable", + "crud_pilot_application_schedule_has_blocking_links", + "crud_pilot_application_schedule_infusion_editable", + "crud_pilot_application_schedule_locked", + "crud_pilot_application_soft_delete_application", + "crud_pilot_application_soft_delete_infusion_plan", + "crud_pilot_application_soft_delete_schedule", + "crud_pilot_application_start_application", + "crud_pilot_application_update_infusion_plan", + "crud_pilot_application_update_schedule", + "crud_pilot_application_update_schedule_editable", + "crud_pilot_application_update_schedule_order_only", + "crud_pilot_application_upsert_application_infusion", + "crud_pilot_application_upsert_schedule_products", + "crud_pilot_application_void_application", + "crud_pilot_checkup_batch_create_checkups", + "crud_pilot_checkup_create_checkup", + "crud_pilot_checkup_delete_actual_item", + "crud_pilot_checkup_delete_reserve_item", + "crud_pilot_checkup_ensure_checkup_for_patient", + "crud_pilot_checkup_generate_checkup_no", + "crud_pilot_checkup_get_checkup_by_application", + "crud_pilot_checkup_get_checkup_by_id", + "crud_pilot_checkup_list_actual_items", + "crud_pilot_checkup_list_checkups_paginated", + "crud_pilot_checkup_list_pending_patients", + "crud_pilot_checkup_list_reserve_items", + "crud_pilot_checkup_mark_checkup_checked", + "crud_pilot_checkup_parse_optional_datetime", + "crud_pilot_checkup_py", + "crud_pilot_checkup_remove_checkup_for_patient", + "crud_pilot_checkup_row_to_dict_actual_item", + "crud_pilot_checkup_row_to_dict_checkup", + "crud_pilot_checkup_row_to_dict_reserve_item", + "crud_pilot_checkup_save_actual_items", + "crud_pilot_checkup_save_reserve_items", + "crud_pilot_checkup_settle_checkup_fee", + "crud_pilot_checkup_update_checkup", + "crud_pilot_outbound_status_sync_get_schedule", + "crud_pilot_outbound_status_sync_is_pilot_outbound_production", + "crud_pilot_outbound_status_sync_is_pilot_outbound_qc", + "crud_pilot_outbound_status_sync_py", + "crud_pilot_outbound_status_sync_sync_pilot_outbound_from_schedule", + "crud_pilot_outbound_status_sync_sync_production_work_order_from_schedule", + "crud_pilot_outbound_status_sync_sync_qc_work_order_from_schedule", + "crud_pilot_outbound_status_sync_sync_schedule_from_production_work_order", + "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", + "crud_pilot_outbound_status_sync_touch" + ], + "13": [ "api_production_batchstockinbody", "api_production_batchstockinitem", "api_production_batchstockoutbody", @@ -4457,78 +4523,6 @@ "schemas_production_work_order_py", "schemas_qc_work_order_productionqcworkordercreatebody" ], - "13": [ - "api_production_get_next_cell_product_code", - "crud_cell_product_ancestor_link_from_cell_product_input", - "crud_cell_product_ancestor_sample_chain_link", - "crud_cell_product_apply_cell_product_status_change", - "crud_cell_product_build_ancestor_chain", - "crud_cell_product_build_descendant_chain", - "crud_cell_product_build_facility_path_label", - "crud_cell_product_build_split_product_codes", - "crud_cell_product_create_cell_product", - "crud_cell_product_create_cell_products_batch", - "crud_cell_product_create_cell_products_by_quantity", - "crud_cell_product_delete_cell_product", - "crud_cell_product_donation_sample_chain_node", - "crud_cell_product_donation_sample_customer_dict", - "crud_cell_product_edge_meta", - "crud_cell_product_enrich_product_dicts", - "crud_cell_product_find_cell_product_by_input", - "crud_cell_product_find_donation_sample", - "crud_cell_product_find_protocol_sample", - "crud_cell_product_get_cell_product", - "crud_cell_product_get_max_passage_product_seq", - "crud_cell_product_get_max_passage_product_seq_map", - "crud_cell_product_get_max_product_suffix_seq", - "crud_cell_product_get_next_code", - "crud_cell_product_get_product_chain", - "crud_cell_product_list_cell_products", - "crud_cell_product_nest_ancestor_parent", - "crud_cell_product_next_code_start_seq", - "crud_cell_product_normalize_passage_product_base", - "crud_cell_product_normalize_product_code_base", - "crud_cell_product_product_code_exists", - "crud_cell_product_product_node", - "crud_cell_product_product_to_response", - "crud_cell_product_protocol_sample_chain_node", - "crud_cell_product_py", - "crud_cell_product_reserve_next_codes", - "crud_cell_product_row_to_dict", - "crud_cell_product_sample_customer_dict", - "crud_cell_product_sample_type_name_from_id", - "crud_cell_product_total_pages", - "crud_cell_product_update_cell_product", - "crud_cell_product_validate_batch_items", - "crud_outbound_handover_inventory_apply_handover_inventory", - "crud_outbound_handover_inventory_deduct_market_material_for_handover", - "crud_outbound_handover_inventory_get_cell_product_locked", - "crud_outbound_handover_inventory_handover_usage_remark", - "crud_outbound_handover_inventory_handover_usage_remark_prefix", - "crud_outbound_handover_inventory_py", - "crud_outbound_handover_inventory_remove_cell_occupancy_no_commit", - "crud_outbound_handover_inventory_restore_cell_occupancy_no_commit", - "crud_outbound_handover_inventory_revert_handover_inventory", - "crud_outbound_handover_inventory_revert_legacy_qc_handover_usages", - "crud_outbound_handover_inventory_revert_market_handover_usages", - "crud_production_task_create_occupancy_for_product", - "crud_storage_occupancy_add_stored_occupancy_no_commit", - "crud_storage_occupancy_assert_batch_slots_unique", - "crud_storage_occupancy_assert_slot_vacant", - "crud_storage_occupancy_attach_cell_product_fields", - "crud_storage_occupancy_batch_create_occupancies", - "crud_storage_occupancy_create_occupancy", - "crud_storage_occupancy_enrich_occupancy_items", - "crud_storage_occupancy_enrich_slots_with_stored_cell_products", - "crud_storage_occupancy_list_occupancies", - "crud_storage_occupancy_list_occupancy_history", - "crud_storage_occupancy_load_cell_product_map", - "crud_storage_occupancy_py", - "crud_storage_occupancy_refresh_slot_cache", - "crud_storage_occupancy_remove_by_item_no_commit", - "crud_storage_occupancy_remove_occupancy", - "crud_storage_occupancy_row_to_dict" - ], "14": [ "api_public_jwt_user_payload", "api_public_rationale_115", @@ -4536,7 +4530,6 @@ "api_public_refresh_token", "api_public_web_login", "api_public_web_login_rsa_public_key", - "app_main_lifespan", "core_auth_create_access_token", "core_auth_create_refresh_token", "core_auth_decode_token", @@ -4582,14 +4575,52 @@ "crud_user_usercrudcompat_get_by_user_no", "services_web_auth_roles_active_role_name_rows", "services_web_auth_roles_get_user_role_names", + "services_web_auth_roles_map_role_name_to_web", "services_web_auth_roles_py", "services_web_auth_roles_resolve_web_role_for_user", - "services_web_auth_roles_user_has_active_roles", - "tasks_init_init_scheduled_tasks", - "tasks_init_py", - "tasks_init_shutdown_scheduler" + "services_web_auth_roles_user_has_active_roles" ], "15": [ + "crud_cleanroom_garment_batch_create_sterilize_logs", + "crud_cleanroom_garment_batch_create_wash_logs", + "crud_cleanroom_garment_batch_discard_garments", + "crud_cleanroom_garment_batch_soft_delete_garments", + "crud_cleanroom_garment_count_map", + "crud_cleanroom_garment_create_garment", + "crud_cleanroom_garment_create_sterilize_log", + "crud_cleanroom_garment_create_wash_log", + "crud_cleanroom_garment_discard_garment", + "crud_cleanroom_garment_ensure_garment_active", + "crud_cleanroom_garment_garment_code_exists", + "crud_cleanroom_garment_garment_to_dict", + "crud_cleanroom_garment_get_garment", + "crud_cleanroom_garment_get_sterilize_log", + "crud_cleanroom_garment_get_wash_log", + "crud_cleanroom_garment_list_garments", + "crud_cleanroom_garment_list_sterilize_logs", + "crud_cleanroom_garment_list_wash_logs", + "crud_cleanroom_garment_parse_date", + "crud_cleanroom_garment_parse_datetime", + "crud_cleanroom_garment_parse_limit", + "crud_cleanroom_garment_py", + "crud_cleanroom_garment_soft_delete_garment", + "crud_cleanroom_garment_soft_delete_sterilize_log", + "crud_cleanroom_garment_soft_delete_wash_log", + "crud_cleanroom_garment_sterilize_log_to_dict", + "crud_cleanroom_garment_total_pages", + "crud_cleanroom_garment_update_garment", + "crud_cleanroom_garment_update_sterilize_log", + "crud_cleanroom_garment_update_wash_log", + "crud_cleanroom_garment_wash_log_to_dict", + "models_cleanroom_garment_bizcleanroomgarment", + "models_cleanroom_garment_bizcleanroomgarmentsterilizelog", + "models_cleanroom_garment_bizcleanroomgarmentwashlog", + "models_cleanroom_garment_py", + "models_cleanroom_garment_rationale_33", + "models_cleanroom_garment_rationale_54", + "models_cleanroom_garment_rationale_9" + ], + "16": [ "core_wechat_pay_get_wechat_pay_client", "core_wechat_pay_get_wechat_pay_v2", "core_wechat_pay_py", @@ -4622,36 +4653,6 @@ "core_wechat_pay_wechatpayv2client_unified_order", "core_wechat_pay_wechatpayv2client_xml_to_dict" ], - "16": [ - "crud_qc_material_usage_amount_for_row", - "crud_qc_material_usage_batch_map", - "crud_qc_material_usage_deduct_for_task", - "crud_qc_material_usage_deduct_task_usage_legacy_batch", - "crud_qc_material_usage_display_remark", - "crud_qc_material_usage_fmt_date_val", - "crud_qc_material_usage_linked_qc_task_no_map", - "crud_qc_material_usage_list_linked_task_usages", - "crud_qc_material_usage_list_my_usages", - "crud_qc_material_usage_list_requisition_options", - "crud_qc_material_usage_list_stock_check_requisitions", - "crud_qc_material_usage_list_usages", - "crud_qc_material_usage_list_usages_by_task", - "crud_qc_material_usage_list_usages_query", - "crud_qc_material_usage_mine_usage_filter", - "crud_qc_material_usage_paginate_usages", - "crud_qc_material_usage_parse_receiver_purpose_from_remark", - "crud_qc_material_usage_py", - "crud_qc_material_usage_receiver_display_map", - "crud_qc_material_usage_record_task_usage_from_requisition", - "crud_qc_material_usage_resolve_receiver_purpose", - "crud_qc_material_usage_revert_task_material_usages", - "crud_qc_material_usage_row_to_dict", - "crud_qc_material_usage_stock_in_date_for_row", - "crud_qc_material_usage_task_consumed_qty_map", - "crud_qc_material_usage_unit_price_for_row", - "crud_qc_material_usage_usage_unit_label", - "crud_qc_material_usage_user_nick_name_map" - ], "17": [ "crud_process_consumable_row_to_dict", "crud_process_create_process", @@ -4757,6 +4758,19 @@ "crud_consumable_stock_log_user_nick_name_map" ], "23": [ + "crud_dept_build_tree", + "crud_dept_cascade_soft_delete", + "crud_dept_collect_with_ancestors", + "crud_dept_get_dept", + "crud_dept_list_depts", + "crud_dept_list_depts_tree", + "crud_dept_py", + "crud_dept_rationale_42", + "crud_dept_row_to_dict", + "crud_dept_soft_delete_dept", + "crud_dept_update_dept" + ], + "24": [ "models_base_basemodel", "models_base_basemodel_to_dict", "models_base_get_active", @@ -4766,7 +4780,7 @@ "models_base_softdeletemodel_soft_delete", "models_base_tablename" ], - "24": [ + "25": [ "core_order_status_compat_derive_legacy_status_from_three", "core_order_status_compat_derive_three_status_from_legacy", "core_order_status_compat_py", @@ -4775,14 +4789,6 @@ "core_order_status_compat_threestatus", "core_order_status_compat_to_decimal" ], - "25": [ - "crud_material_stock_log_dec", - "crud_material_stock_log_fmt_dt", - "crud_material_stock_log_list_stock_logs", - "crud_material_stock_log_py", - "crud_material_stock_log_row_to_dict", - "crud_material_stock_log_user_nick_name_map" - ], "26": [ "basesettings", "core_config_config", @@ -4796,62 +4802,56 @@ "core_database_rationale_31" ], "28": [ - "crud_api_request_log_delete", - "crud_api_request_log_get", - "crud_api_request_log_get_multi_with_filters", - "crud_api_request_log_py" - ], - "29": [ "api_menu_get_menu_list", "api_menu_py", "api_menu_rationale_1" ], - "30": [ + "29": [ "core_qc_material_amount_auth_constants_py", "core_qc_material_amount_auth_constants_rationale_1" ], - "31": [ + "30": [ "core_context_py", "core_context_rationale_1" ], - "32": [ + "31": [ "api_init_py", "api_init_rationale_1" ], - "33": [ + "32": [ "init_py" ], - "34": [ + "33": [ "core_init_py" ], - "35": [ + "34": [ "core_wechat_message_rationale_143" ], - "36": [ + "35": [ "core_wechat_message_rationale_179" ], - "37": [ + "36": [ "core_wechat_message_rationale_215" ], - "38": [ + "37": [ "core_wechat_message_rationale_251" ], - "39": [ + "38": [ "core_wechat_message_rationale_289" ], - "40": [ + "39": [ "core_wechat_message_rationale_325" ], - "41": [ + "40": [ "models_init_py" ], - "42": [ + "41": [ "schemas_init_py" ], - "43": [ + "42": [ "crud_init_py" ], - "44": [ + "43": [ "ws_init_py" ] }, @@ -4859,33 +4859,33 @@ "0": 0.01, "1": 0.01, "2": 0.01, - "3": 0.01, - "4": 0.08, + "3": 0.08, + "4": 0.01, "5": 0.08, "6": 0.02, "7": 0.02, - "8": 0.04, - "9": 0.03, + "8": 0.02, + "9": 0.02, "10": 0.04, - "11": 0.05, - "12": 0.45, - "13": 0.06, - "14": 0.06, - "15": 0.12, - "16": 0.19, + "11": 0.06, + "12": 0.05, + "13": 0.45, + "14": 0.07, + "15": 0.11, + "16": 0.12, "17": 0.21, "18": 0.2, "19": 0.27, "20": 0.24, "21": 0.24, "22": 0.24, - "23": 0.29, - "24": 0.38, - "25": 0.6, + "23": 0.31, + "24": 0.29, + "25": 0.38, "26": 0.5, "27": 0.5, - "28": 0.5, - "29": 0.67, + "28": 0.67, + "29": 1.0, "30": 1.0, "31": 1.0, "32": 1.0, @@ -4899,8 +4899,7 @@ "40": 1.0, "41": 1.0, "42": 1.0, - "43": 1.0, - "44": 1.0 + "43": 1.0 }, "gods": [ { @@ -4921,7 +4920,7 @@ { "id": "models_qc_param_bizqctaskresult", "label": "BizQcTaskResult", - "degree": 333 + "degree": 334 }, { "id": "models_production_material_bizproductionmaterial", diff --git a/backend/graphify-out/.graphify_extract.json b/backend/graphify-out/.graphify_extract.json index abba244a..2492bea8 100644 --- a/backend/graphify-out/.graphify_extract.json +++ b/backend/graphify-out/.graphify_extract.json @@ -8057,47 +8057,54 @@ "source_file": "crud/qc_task.py", "source_location": "L718" }, + { + "id": "crud_qc_task_resolve_task_result_conclusion", + "label": "resolve_task_result_conclusion()", + "file_type": "code", + "source_file": "crud/qc_task.py", + "source_location": "L763" + }, { "id": "crud_qc_task_apply_task_result", "label": "apply_task_result()", "file_type": "code", "source_file": "crud/qc_task.py", - "source_location": "L763" + "source_location": "L779" }, { "id": "crud_qc_task_update_task_attachments", "label": "update_task_attachments()", "file_type": "code", "source_file": "crud/qc_task.py", - "source_location": "L823" + "source_location": "L837" }, { "id": "crud_qc_task_create_qc_task_manual", "label": "create_qc_task_manual()", "file_type": "code", "source_file": "crud/qc_task.py", - "source_location": "L853" + "source_location": "L867" }, { "id": "crud_qc_task_soft_delete_source_line_for_task", "label": "_soft_delete_source_line_for_task()", "file_type": "code", "source_file": "crud/qc_task.py", - "source_location": "L902" + "source_location": "L916" }, { "id": "crud_qc_task_refresh_work_order_item_flags", "label": "_refresh_work_order_item_flags()", "file_type": "code", "source_file": "crud/qc_task.py", - "source_location": "L964" + "source_location": "L978" }, { "id": "crud_qc_task_delete_qc_task", "label": "delete_qc_task()", "file_type": "code", "source_file": "crud/qc_task.py", - "source_location": "L1003" + "source_location": "L1017" }, { "id": "crud_qc_task_rationale_180", @@ -8114,32 +8121,39 @@ "source_location": "L709" }, { - "id": "crud_qc_task_rationale_775", + "id": "crud_qc_task_rationale_767", + "label": "Normalize conclusion for apply_task_result. Returns '' | 'tg' | 'btg'. Empt", + "file_type": "rationale", + "source_file": "crud/qc_task.py", + "source_location": "L767" + }, + { + "id": "crud_qc_task_rationale_791", "label": "\u4fdd\u5b58\u68c0\u6d4b\u7ed3\u679c\u4e0e\u7ed3\u8bba\uff0c\u5e76\u6309\u6307\u5b9a\u4efb\u52a1\u72b6\u6001\u843d\u5e93\uff08\u9ed8\u8ba4\u5df2\u5b8c\u6210\uff09\u3002", "file_type": "rationale", "source_file": "crud/qc_task.py", - "source_location": "L775" + "source_location": "L791" }, { - "id": "crud_qc_task_rationale_910", + "id": "crud_qc_task_rationale_924", "label": "\u5220\u9664\u4efb\u52a1\u65f6\u540c\u6b65\u8f6f\u5220\u6279\u6b21\u4e0b\u5bf9\u5e94 lab/third \u660e\u7ec6\u884c\uff0c\u907f\u514d\u914d\u7f6e\u5f39\u7a97\u4ecd\u52fe\u9009\u8be5\u9879\u76ee\u3002", "file_type": "rationale", "source_file": "crud/qc_task.py", - "source_location": "L910" + "source_location": "L924" }, { - "id": "crud_qc_task_rationale_972", + "id": "crud_qc_task_rationale_986", "label": "\u6309\u672a\u5220\u9664\u660e\u7ec6\u884c\u56de\u5199\u5de5\u5355 has_lab / has_third_party / \u7b2c\u4e09\u65b9\u8d39\u7528\u5408\u8ba1\u3002", "file_type": "rationale", "source_file": "crud/qc_task.py", - "source_location": "L972" + "source_location": "L986" }, { - "id": "crud_qc_task_rationale_1004", + "id": "crud_qc_task_rationale_1018", "label": "\u8f6f\u5220\u9664\u8d28\u68c0\u4efb\u52a1\u3001\u68c0\u6d4b\u7ed3\u679c\uff0c\u5e76\u540c\u6b65\u89e3\u9664\u6279\u6b21\u4e2d\u7684\u9879\u76ee\u5173\u8054\u3002", "file_type": "rationale", "source_file": "crud/qc_task.py", - "source_location": "L1004" + "source_location": "L1018" }, { "id": "crud_process_route_py", @@ -25163,385 +25177,385 @@ "label": "update_qc_task_attachments()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1239" + "source_location": "L1236" }, { "id": "api_qc_delete_qc_task_api", "label": "delete_qc_task_api()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1265" + "source_location": "L1262" }, { "id": "api_qc_maybe_strip_qc_material_amount_fields", "label": "_maybe_strip_qc_material_amount_fields()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1281" + "source_location": "L1278" }, { "id": "api_qc_user_can_view_qc_material_amount", "label": "_user_can_view_qc_material_amount()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1289" + "source_location": "L1286" }, { "id": "api_qc_strip_amount_from_write_data", "label": "_strip_amount_from_write_data()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1293" + "source_location": "L1290" }, { "id": "api_qc_resolve_stock_in_amounts", "label": "_resolve_stock_in_amounts()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1300" + "source_location": "L1297" }, { "id": "api_qc_maybe_strip_qc_third_party_fee_fields", "label": "_maybe_strip_qc_third_party_fee_fields()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1308" + "source_location": "L1305" }, { "id": "api_qc_maybe_strip_qc_material_stock_check_detail", "label": "_maybe_strip_qc_material_stock_check_detail()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1332" + "source_location": "L1329" }, { "id": "api_qc_qcmaterialbody", "label": "QcMaterialBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1341" + "source_location": "L1338" }, { "id": "api_qc_qcmaterialupdatebody", "label": "QcMaterialUpdateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1352" + "source_location": "L1349" }, { "id": "api_qc_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1363" + "source_location": "L1360" }, { "id": "api_qc_batchstockinitem", "label": "BatchStockInItem", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1378" + "source_location": "L1375" }, { "id": "api_qc_batchstockinbody", "label": "BatchStockInBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1393" + "source_location": "L1390" }, { "id": "api_qc_batchstockoutitem", "label": "BatchStockOutItem", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1400" + "source_location": "L1397" }, { "id": "api_qc_batchstockoutbody", "label": "BatchStockOutBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1407" + "source_location": "L1404" }, { "id": "api_qc_batchdiscarditem", "label": "BatchDiscardItem", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1416" + "source_location": "L1413" }, { "id": "api_qc_batchdiscardbody", "label": "BatchDiscardBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1424" + "source_location": "L1421" }, { "id": "api_qc_qcmaterialbatchupdatebody", "label": "QcMaterialBatchUpdateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1432" + "source_location": "L1429" }, { "id": "api_qc_list_qc_material_batches", "label": "list_qc_material_batches()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1455" + "source_location": "L1452" }, { "id": "api_qc_qc_material_batch_options", "label": "qc_material_batch_options()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1485" + "source_location": "L1482" }, { "id": "api_qc_get_qc_material_batch", "label": "get_qc_material_batch()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1508" + "source_location": "L1505" }, { "id": "api_qc_update_qc_material_batch", "label": "update_qc_material_batch()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1525" + "source_location": "L1522" }, { "id": "api_qc_delete_qc_material_batch", "label": "delete_qc_material_batch()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1557" + "source_location": "L1554" }, { "id": "api_qc_list_qc_materials", "label": "list_qc_materials()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1574" + "source_location": "L1571" }, { "id": "api_qc_qc_material_options", "label": "qc_material_options()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1596" + "source_location": "L1593" }, { "id": "api_qc_create_qc_material", "label": "create_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1608" + "source_location": "L1605" }, { "id": "api_qc_update_qc_material", "label": "update_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1638" + "source_location": "L1635" }, { "id": "api_qc_delete_qc_material", "label": "delete_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1667" + "source_location": "L1664" }, { "id": "api_qc_batch_stock_in_qc_material", "label": "batch_stock_in_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1684" + "source_location": "L1681" }, { "id": "api_qc_batch_stock_out_qc_material", "label": "batch_stock_out_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1741" + "source_location": "L1738" }, { "id": "api_qc_batch_discard_qc_material", "label": "batch_discard_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1777" + "source_location": "L1774" }, { "id": "api_qc_stock_in_qc_material", "label": "stock_in_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1819" + "source_location": "L1816" }, { "id": "api_qc_batch_stock_in_qc_material_batches", "label": "batch_stock_in_qc_material_batches()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1864" + "source_location": "L1861" }, { "id": "api_qc_batch_stock_out_qc_material_batches", "label": "batch_stock_out_qc_material_batches()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1874" + "source_location": "L1871" }, { "id": "api_qc_batch_discard_qc_material_batches", "label": "batch_discard_qc_material_batches()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1884" + "source_location": "L1881" }, { "id": "api_qc_list_qc_material_usages", "label": "list_qc_material_usages()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1897" + "source_location": "L1894" }, { "id": "api_qc_list_my_qc_material_usages", "label": "list_my_qc_material_usages()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1927" + "source_location": "L1924" }, { "id": "api_qc_list_qc_material_linked_task_usages", "label": "list_qc_material_linked_task_usages()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1966" + "source_location": "L1963" }, { "id": "api_qc_list_qc_material_stock_check_requisitions", "label": "list_qc_material_stock_check_requisitions()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L1996" + "source_location": "L1993" }, { "id": "api_qc_mark_qc_material_usage_fully_used", "label": "mark_qc_material_usage_fully_used()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2023" + "source_location": "L2020" }, { "id": "api_qc_stockcheckcreatebody", "label": "StockCheckCreateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2053" + "source_location": "L2050" }, { "id": "api_qc_stockcheckunusedlineitem", "label": "StockCheckUnusedLineItem", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2060" + "source_location": "L2057" }, { "id": "api_qc_stockcheckunusedlinesbody", "label": "StockCheckUnusedLinesBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2080" + "source_location": "L2077" }, { "id": "api_qc_list_qc_material_stock_checks", "label": "list_qc_material_stock_checks()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2086" + "source_location": "L2083" }, { "id": "api_qc_create_qc_material_stock_check", "label": "create_qc_material_stock_check()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2117" + "source_location": "L2114" }, { "id": "api_qc_get_qc_material_stock_check", "label": "get_qc_material_stock_check()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2143" + "source_location": "L2140" }, { "id": "api_qc_save_qc_material_stock_check_unused_lines", "label": "save_qc_material_stock_check_unused_lines()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2160" + "source_location": "L2157" }, { "id": "api_qc_complete_qc_material_stock_check", "label": "complete_qc_material_stock_check()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2186" + "source_location": "L2183" }, { "id": "api_qc_cancel_qc_material_stock_check", "label": "cancel_qc_material_stock_check()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2203" + "source_location": "L2200" }, { "id": "api_qc_qcmaterialamountauthgrantbody", "label": "QcMaterialAmountAuthGrantBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2222" + "source_location": "L2219" }, { "id": "api_qc_qcmaterialamountauthbatchbody", "label": "QcMaterialAmountAuthBatchBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2227" + "source_location": "L2224" }, { "id": "api_qc_list_qc_material_amount_auth_users", "label": "list_qc_material_amount_auth_users()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2233" + "source_location": "L2230" }, { "id": "api_qc_grant_qc_material_amount_auth", "label": "grant_qc_material_amount_auth()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2256" + "source_location": "L2253" }, { "id": "api_qc_revoke_qc_material_amount_auth", "label": "revoke_qc_material_amount_auth()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2280" + "source_location": "L2277" }, { "id": "api_qc_batch_revoke_qc_material_amount_auth", "label": "batch_revoke_qc_material_amount_auth()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L2305" + "source_location": "L2302" }, { "id": "api_qc_rationale_1", @@ -25551,53 +25565,53 @@ "source_location": "L1" }, { - "id": "api_qc_rationale_1869", + "id": "api_qc_rationale_1866", "label": "\u6279\u91cf\u5165\u5e93\uff08\u4e0e /qc-materials/batch-stock-in \u7b49\u4ef7\uff09\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L1869" + "source_location": "L1866" }, { - "id": "api_qc_rationale_1879", + "id": "api_qc_rationale_1876", "label": "\u6279\u91cf\u51fa\u5e93\uff08\u4e0e /qc-materials/batch-stock-out \u7b49\u4ef7\uff09\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L1879" + "source_location": "L1876" }, { - "id": "api_qc_rationale_1889", + "id": "api_qc_rationale_1886", "label": "\u6279\u91cf\u5e9f\u5f03\uff08\u4e0e /qc-materials/batch-discard \u7b49\u4ef7\uff09\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L1889" + "source_location": "L1886" }, { - "id": "api_qc_rationale_1939", + "id": "api_qc_rationale_1936", "label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u7269\u6599\u9886\u7528\u8bb0\u5f55\uff08\u624b\u52a8\u51fa\u5e93\u9886\u7528\u4eba / \u4efb\u52a1\u4f7f\u7528\u586b\u62a5\u4eba\uff09\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L1939" + "source_location": "L1936" }, { - "id": "api_qc_rationale_2003", + "id": "api_qc_rationale_2000", "label": "\u76d8\u70b9\u767b\u8bb0\uff1a\u5f85\u5904\u7406\u9886\u7528\u8bb0\u5f55\uff08\u672a\u6807\u8bb0\u5df2\u4f7f\u7528\u5b8c\uff09\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L2003" + "source_location": "L2000" }, { - "id": "api_qc_rationale_2030", + "id": "api_qc_rationale_2027", "label": "\u6807\u8bb0\u9886\u7528\u8bb0\u5f55\u5df2\u4f7f\u7528\u5b8c\uff08\u76d8\u70b9\u767b\u8bb0 / \u53d8\u52a8\u8bb0\u5f55\uff09\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L2030" + "source_location": "L2027" }, { - "id": "api_qc_rationale_2240", + "id": "api_qc_rationale_2237", "label": "\u5df2\u6388\u6743\u300c\u8d28\u68c0\u7269\u6599\u91d1\u989d\u67e5\u770b\u300d\u89d2\u8272\u7684\u7528\u6237\u5217\u8868\u3002", "file_type": "rationale", "source_file": "api/qc.py", - "source_location": "L2240" + "source_location": "L2237" }, { "id": "api_market_py", @@ -52437,20 +52451,29 @@ }, { "source": "crud_qc_task_py", - "target": "crud_qc_task_apply_task_result", + "target": "crud_qc_task_resolve_task_result_conclusion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", "source_location": "L763", "weight": 1.0 }, + { + "source": "crud_qc_task_py", + "target": "crud_qc_task_apply_task_result", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/qc_task.py", + "source_location": "L779", + "weight": 1.0 + }, { "source": "crud_qc_task_py", "target": "crud_qc_task_update_task_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L823", + "source_location": "L837", "weight": 1.0 }, { @@ -52459,7 +52482,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L853", + "source_location": "L867", "weight": 1.0 }, { @@ -52468,7 +52491,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L902", + "source_location": "L916", "weight": 1.0 }, { @@ -52477,7 +52500,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L964", + "source_location": "L978", "weight": 1.0 }, { @@ -52486,7 +52509,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L1003", + "source_location": "L1017", "weight": 1.0 }, { @@ -52693,7 +52716,16 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L779", + "source_location": "L795", + "weight": 1.0 + }, + { + "source": "crud_qc_task_apply_task_result", + "target": "crud_qc_task_resolve_task_result_conclusion", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "crud/qc_task.py", + "source_location": "L801", "weight": 1.0 }, { @@ -52702,7 +52734,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L788", + "source_location": "L802", "weight": 1.0 }, { @@ -52711,7 +52743,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L800", + "source_location": "L814", "weight": 1.0 }, { @@ -52720,7 +52752,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L832", + "source_location": "L846", "weight": 1.0 }, { @@ -52729,7 +52761,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L1030", + "source_location": "L1044", "weight": 1.0 }, { @@ -52738,7 +52770,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L1048", + "source_location": "L1062", "weight": 1.0 }, { @@ -52760,39 +52792,48 @@ "weight": 1.0 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", + "target": "crud_qc_task_resolve_task_result_conclusion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "crud/qc_task.py", + "source_location": "L767", + "weight": 1.0 + }, + { + "source": "crud_qc_task_rationale_791", "target": "crud_qc_task_apply_task_result", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L775", + "source_location": "L791", "weight": 1.0 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_924", "target": "crud_qc_task_soft_delete_source_line_for_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L910", + "source_location": "L924", "weight": 1.0 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_986", "target": "crud_qc_task_refresh_work_order_item_flags", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L972", + "source_location": "L986", "weight": 1.0 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_1018", "target": "crud_qc_task_delete_qc_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/qc_task.py", - "source_location": "L1004", + "source_location": "L1018", "weight": 1.0 }, { @@ -98989,7 +99030,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1239", + "source_location": "L1236", "weight": 1.0 }, { @@ -98998,7 +99039,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1265", + "source_location": "L1262", "weight": 1.0 }, { @@ -99007,7 +99048,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1281", + "source_location": "L1278", "weight": 1.0 }, { @@ -99016,7 +99057,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1289", + "source_location": "L1286", "weight": 1.0 }, { @@ -99025,7 +99066,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1293", + "source_location": "L1290", "weight": 1.0 }, { @@ -99034,7 +99075,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1300", + "source_location": "L1297", "weight": 1.0 }, { @@ -99043,7 +99084,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1308", + "source_location": "L1305", "weight": 1.0 }, { @@ -99052,7 +99093,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1332", + "source_location": "L1329", "weight": 1.0 }, { @@ -99061,7 +99102,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1341", + "source_location": "L1338", "weight": 1.0 }, { @@ -99070,7 +99111,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1341", + "source_location": "L1338", "weight": 1.0 }, { @@ -99079,7 +99120,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1352", + "source_location": "L1349", "weight": 1.0 }, { @@ -99088,7 +99129,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1352", + "source_location": "L1349", "weight": 1.0 }, { @@ -99097,7 +99138,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1363", + "source_location": "L1360", "weight": 1.0 }, { @@ -99106,7 +99147,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1363", + "source_location": "L1360", "weight": 1.0 }, { @@ -99115,7 +99156,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1378", + "source_location": "L1375", "weight": 1.0 }, { @@ -99124,7 +99165,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1378", + "source_location": "L1375", "weight": 1.0 }, { @@ -99133,7 +99174,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1393", + "source_location": "L1390", "weight": 1.0 }, { @@ -99142,7 +99183,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1393", + "source_location": "L1390", "weight": 1.0 }, { @@ -99151,7 +99192,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1400", + "source_location": "L1397", "weight": 1.0 }, { @@ -99160,7 +99201,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1400", + "source_location": "L1397", "weight": 1.0 }, { @@ -99169,7 +99210,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1407", + "source_location": "L1404", "weight": 1.0 }, { @@ -99178,7 +99219,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1407", + "source_location": "L1404", "weight": 1.0 }, { @@ -99187,7 +99228,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1416", + "source_location": "L1413", "weight": 1.0 }, { @@ -99196,7 +99237,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1416", + "source_location": "L1413", "weight": 1.0 }, { @@ -99205,7 +99246,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1424", + "source_location": "L1421", "weight": 1.0 }, { @@ -99214,7 +99255,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1424", + "source_location": "L1421", "weight": 1.0 }, { @@ -99223,7 +99264,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1432", + "source_location": "L1429", "weight": 1.0 }, { @@ -99232,7 +99273,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1432", + "source_location": "L1429", "weight": 1.0 }, { @@ -99241,7 +99282,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1455", + "source_location": "L1452", "weight": 1.0 }, { @@ -99250,7 +99291,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1485", + "source_location": "L1482", "weight": 1.0 }, { @@ -99259,7 +99300,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1508", + "source_location": "L1505", "weight": 1.0 }, { @@ -99268,7 +99309,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1525", + "source_location": "L1522", "weight": 1.0 }, { @@ -99277,7 +99318,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1557", + "source_location": "L1554", "weight": 1.0 }, { @@ -99286,7 +99327,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1574", + "source_location": "L1571", "weight": 1.0 }, { @@ -99295,7 +99336,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1596", + "source_location": "L1593", "weight": 1.0 }, { @@ -99304,7 +99345,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1608", + "source_location": "L1605", "weight": 1.0 }, { @@ -99313,7 +99354,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1638", + "source_location": "L1635", "weight": 1.0 }, { @@ -99322,7 +99363,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1667", + "source_location": "L1664", "weight": 1.0 }, { @@ -99331,7 +99372,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1684", + "source_location": "L1681", "weight": 1.0 }, { @@ -99340,7 +99381,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1741", + "source_location": "L1738", "weight": 1.0 }, { @@ -99349,7 +99390,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1777", + "source_location": "L1774", "weight": 1.0 }, { @@ -99358,7 +99399,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1819", + "source_location": "L1816", "weight": 1.0 }, { @@ -99367,7 +99408,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1864", + "source_location": "L1861", "weight": 1.0 }, { @@ -99376,7 +99417,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1874", + "source_location": "L1871", "weight": 1.0 }, { @@ -99385,7 +99426,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1884", + "source_location": "L1881", "weight": 1.0 }, { @@ -99394,7 +99435,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1897", + "source_location": "L1894", "weight": 1.0 }, { @@ -99403,7 +99444,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1927", + "source_location": "L1924", "weight": 1.0 }, { @@ -99412,7 +99453,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1966", + "source_location": "L1963", "weight": 1.0 }, { @@ -99421,7 +99462,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1996", + "source_location": "L1993", "weight": 1.0 }, { @@ -99430,7 +99471,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2023", + "source_location": "L2020", "weight": 1.0 }, { @@ -99439,7 +99480,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2053", + "source_location": "L2050", "weight": 1.0 }, { @@ -99448,7 +99489,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2053", + "source_location": "L2050", "weight": 1.0 }, { @@ -99457,7 +99498,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2060", + "source_location": "L2057", "weight": 1.0 }, { @@ -99466,7 +99507,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2060", + "source_location": "L2057", "weight": 1.0 }, { @@ -99475,7 +99516,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2080", + "source_location": "L2077", "weight": 1.0 }, { @@ -99484,7 +99525,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2080", + "source_location": "L2077", "weight": 1.0 }, { @@ -99493,7 +99534,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2086", + "source_location": "L2083", "weight": 1.0 }, { @@ -99502,7 +99543,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2117", + "source_location": "L2114", "weight": 1.0 }, { @@ -99511,7 +99552,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2143", + "source_location": "L2140", "weight": 1.0 }, { @@ -99520,7 +99561,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2160", + "source_location": "L2157", "weight": 1.0 }, { @@ -99529,7 +99570,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2186", + "source_location": "L2183", "weight": 1.0 }, { @@ -99538,7 +99579,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2203", + "source_location": "L2200", "weight": 1.0 }, { @@ -99547,7 +99588,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2222", + "source_location": "L2219", "weight": 1.0 }, { @@ -99556,7 +99597,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2222", + "source_location": "L2219", "weight": 1.0 }, { @@ -99565,7 +99606,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2227", + "source_location": "L2224", "weight": 1.0 }, { @@ -99574,7 +99615,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2227", + "source_location": "L2224", "weight": 1.0 }, { @@ -99583,7 +99624,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2233", + "source_location": "L2230", "weight": 1.0 }, { @@ -99592,7 +99633,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2256", + "source_location": "L2253", "weight": 1.0 }, { @@ -99601,7 +99642,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2280", + "source_location": "L2277", "weight": 1.0 }, { @@ -99610,7 +99651,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2305", + "source_location": "L2302", "weight": 1.0 }, { @@ -99637,7 +99678,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1294", + "source_location": "L1291", "weight": 1.0 }, { @@ -99646,7 +99687,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1303", + "source_location": "L1300", "weight": 1.0 }, { @@ -99655,7 +99696,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1476", + "source_location": "L1473", "weight": 1.0 }, { @@ -99664,7 +99705,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1501", + "source_location": "L1498", "weight": 1.0 }, { @@ -99673,7 +99714,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1516", + "source_location": "L1513", "weight": 1.0 }, { @@ -99682,7 +99723,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1535", + "source_location": "L1532", "weight": 1.0 }, { @@ -99691,7 +99732,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1545", + "source_location": "L1542", "weight": 1.0 }, { @@ -99700,7 +99741,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1700", + "source_location": "L1697", "weight": 1.0 }, { @@ -99709,7 +99750,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1836", + "source_location": "L1833", "weight": 1.0 }, { @@ -99718,7 +99759,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1870", + "source_location": "L1867", "weight": 1.0 }, { @@ -99727,7 +99768,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1880", + "source_location": "L1877", "weight": 1.0 }, { @@ -99736,7 +99777,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1890", + "source_location": "L1887", "weight": 1.0 }, { @@ -99745,7 +99786,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1918", + "source_location": "L1915", "weight": 1.0 }, { @@ -99754,7 +99795,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2014", + "source_location": "L2011", "weight": 1.0 }, { @@ -99763,7 +99804,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2151", + "source_location": "L2148", "weight": 1.0 }, { @@ -99776,66 +99817,66 @@ "weight": 1.0 }, { - "source": "api_qc_rationale_1869", + "source": "api_qc_rationale_1866", "target": "api_qc_batch_stock_in_qc_material_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1869", + "source_location": "L1866", "weight": 1.0 }, { - "source": "api_qc_rationale_1879", + "source": "api_qc_rationale_1876", "target": "api_qc_batch_stock_out_qc_material_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1879", + "source_location": "L1876", "weight": 1.0 }, { - "source": "api_qc_rationale_1889", + "source": "api_qc_rationale_1886", "target": "api_qc_batch_discard_qc_material_batches", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1889", + "source_location": "L1886", "weight": 1.0 }, { - "source": "api_qc_rationale_1939", + "source": "api_qc_rationale_1936", "target": "api_qc_list_my_qc_material_usages", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L1939", + "source_location": "L1936", "weight": 1.0 }, { - "source": "api_qc_rationale_2003", + "source": "api_qc_rationale_2000", "target": "api_qc_list_qc_material_stock_check_requisitions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2003", + "source_location": "L2000", "weight": 1.0 }, { - "source": "api_qc_rationale_2030", + "source": "api_qc_rationale_2027", "target": "api_qc_mark_qc_material_usage_fully_used", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2030", + "source_location": "L2027", "weight": 1.0 }, { - "source": "api_qc_rationale_2240", + "source": "api_qc_rationale_2237", "target": "api_qc_list_qc_material_amount_auth_users", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L2240", + "source_location": "L2237", "weight": 1.0 }, { @@ -172928,7 +172969,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizcollectionprotocol", "relation": "uses", "confidence": "INFERRED", @@ -172937,7 +172978,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizcollectionprotocol", "relation": "uses", "confidence": "INFERRED", @@ -172946,7 +172987,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizcollectionprotocol", "relation": "uses", "confidence": "INFERRED", @@ -172955,7 +172996,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizcollectionprotocol", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizcollectionprotocol", "relation": "uses", "confidence": "INFERRED", @@ -172982,7 +173032,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizprotocolsample", "relation": "uses", "confidence": "INFERRED", @@ -172991,7 +173041,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizprotocolsample", "relation": "uses", "confidence": "INFERRED", @@ -173000,7 +173050,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizprotocolsample", "relation": "uses", "confidence": "INFERRED", @@ -173009,7 +173059,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizprotocolsample", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizprotocolsample", "relation": "uses", "confidence": "INFERRED", @@ -173036,7 +173095,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizqctask", "relation": "uses", "confidence": "INFERRED", @@ -173045,7 +173104,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizqctask", "relation": "uses", "confidence": "INFERRED", @@ -173054,7 +173113,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizqctask", "relation": "uses", "confidence": "INFERRED", @@ -173063,7 +173122,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizqctask", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizqctask", "relation": "uses", "confidence": "INFERRED", @@ -173090,7 +173158,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizqctaskassignee", "relation": "uses", "confidence": "INFERRED", @@ -173099,7 +173167,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizqctaskassignee", "relation": "uses", "confidence": "INFERRED", @@ -173108,7 +173176,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizqctaskassignee", "relation": "uses", "confidence": "INFERRED", @@ -173117,7 +173185,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizqctaskassignee", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizqctaskassignee", "relation": "uses", "confidence": "INFERRED", @@ -173144,7 +173221,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizqcworkorder", "relation": "uses", "confidence": "INFERRED", @@ -173153,7 +173230,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizqcworkorder", "relation": "uses", "confidence": "INFERRED", @@ -173162,7 +173239,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizqcworkorder", "relation": "uses", "confidence": "INFERRED", @@ -173171,7 +173248,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizqcworkorder", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizqcworkorder", "relation": "uses", "confidence": "INFERRED", @@ -173198,7 +173284,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizqcworkorderlabitem", "relation": "uses", "confidence": "INFERRED", @@ -173207,7 +173293,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizqcworkorderlabitem", "relation": "uses", "confidence": "INFERRED", @@ -173216,7 +173302,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizqcworkorderlabitem", "relation": "uses", "confidence": "INFERRED", @@ -173225,7 +173311,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizqcworkorderlabitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizqcworkorderlabitem", "relation": "uses", "confidence": "INFERRED", @@ -173252,7 +173347,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizqcworkorderthirditem", "relation": "uses", "confidence": "INFERRED", @@ -173261,7 +173356,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizqcworkorderthirditem", "relation": "uses", "confidence": "INFERRED", @@ -173270,7 +173365,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizqcworkorderthirditem", "relation": "uses", "confidence": "INFERRED", @@ -173279,7 +173374,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizqcworkorderthirditem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizqcworkorderthirditem", "relation": "uses", "confidence": "INFERRED", @@ -173306,7 +173410,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_models_bizsamplereception", "relation": "uses", "confidence": "INFERRED", @@ -173315,7 +173419,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_models_bizsamplereception", "relation": "uses", "confidence": "INFERRED", @@ -173324,7 +173428,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_models_bizsamplereception", "relation": "uses", "confidence": "INFERRED", @@ -173333,7 +173437,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_models_bizsamplereception", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L27", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_models_bizsamplereception", "relation": "uses", "confidence": "INFERRED", @@ -173360,7 +173473,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_research_donation_bizresearchdonation", "relation": "uses", "confidence": "INFERRED", @@ -173369,7 +173482,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_research_donation_bizresearchdonation", "relation": "uses", "confidence": "INFERRED", @@ -173378,7 +173491,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_research_donation_bizresearchdonation", "relation": "uses", "confidence": "INFERRED", @@ -173387,7 +173500,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_research_donation_bizresearchdonation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L37", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_research_donation_bizresearchdonation", "relation": "uses", "confidence": "INFERRED", @@ -173414,7 +173536,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_research_donation_bizresearchdonationsample", "relation": "uses", "confidence": "INFERRED", @@ -173423,7 +173545,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_research_donation_bizresearchdonationsample", "relation": "uses", "confidence": "INFERRED", @@ -173432,7 +173554,7 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_research_donation_bizresearchdonationsample", "relation": "uses", "confidence": "INFERRED", @@ -173441,7 +173563,16 @@ "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", + "target": "models_research_donation_bizresearchdonationsample", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L37", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", "target": "models_research_donation_bizresearchdonationsample", "relation": "uses", "confidence": "INFERRED", @@ -173455,7 +173586,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L1019", + "source_location": "L1033", "weight": 0.8 }, { @@ -173464,43 +173595,52 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L1019", + "source_location": "L1033", "weight": 0.8 }, { - "source": "crud_qc_task_rationale_775", + "source": "crud_qc_task_rationale_767", "target": "models_qc_param_bizqctaskresult", "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L1019", + "source_location": "L1033", "weight": 0.8 }, { - "source": "crud_qc_task_rationale_910", + "source": "crud_qc_task_rationale_791", "target": "models_qc_param_bizqctaskresult", "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L1019", + "source_location": "L1033", "weight": 0.8 }, { - "source": "crud_qc_task_rationale_972", + "source": "crud_qc_task_rationale_924", "target": "models_qc_param_bizqctaskresult", "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L1019", + "source_location": "L1033", "weight": 0.8 }, { - "source": "crud_qc_task_rationale_1004", + "source": "crud_qc_task_rationale_986", "target": "models_qc_param_bizqctaskresult", "relation": "uses", "confidence": "INFERRED", "source_file": "crud/qc_task.py", - "source_location": "L1019", + "source_location": "L1033", + "weight": 0.8 + }, + { + "source": "crud_qc_task_rationale_1018", + "target": "models_qc_param_bizqctaskresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/qc_task.py", + "source_location": "L1033", "weight": 0.8 }, { @@ -215120,7 +215260,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1869", + "source": "api_qc_rationale_1866", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215129,7 +215269,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1879", + "source": "api_qc_rationale_1876", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215138,7 +215278,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1889", + "source": "api_qc_rationale_1886", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215147,7 +215287,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1939", + "source": "api_qc_rationale_1936", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215156,7 +215296,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2003", + "source": "api_qc_rationale_2000", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215165,7 +215305,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2030", + "source": "api_qc_rationale_2027", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215174,7 +215314,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2240", + "source": "api_qc_rationale_2237", "target": "schemas_qc_work_order_qcworkordercreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215453,7 +215593,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1869", + "source": "api_qc_rationale_1866", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215462,7 +215602,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1879", + "source": "api_qc_rationale_1876", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215471,7 +215611,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1889", + "source": "api_qc_rationale_1886", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215480,7 +215620,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1939", + "source": "api_qc_rationale_1936", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215489,7 +215629,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2003", + "source": "api_qc_rationale_2000", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215498,7 +215638,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2030", + "source": "api_qc_rationale_2027", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215507,7 +215647,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2240", + "source": "api_qc_rationale_2237", "target": "schemas_qc_work_order_qcworkorderupdatebody", "relation": "uses", "confidence": "INFERRED", @@ -215786,7 +215926,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1869", + "source": "api_qc_rationale_1866", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215795,7 +215935,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1879", + "source": "api_qc_rationale_1876", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215804,7 +215944,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1889", + "source": "api_qc_rationale_1886", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215813,7 +215953,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_1939", + "source": "api_qc_rationale_1936", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215822,7 +215962,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2003", + "source": "api_qc_rationale_2000", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215831,7 +215971,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2030", + "source": "api_qc_rationale_2027", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -215840,7 +215980,7 @@ "weight": 0.8 }, { - "source": "api_qc_rationale_2240", + "source": "api_qc_rationale_2237", "target": "schemas_qc_task_qctaskcreatebody", "relation": "uses", "confidence": "INFERRED", @@ -238883,6 +239023,16 @@ "source_location": "L754", "weight": 1.0 }, + { + "source": "crud_qc_task_resolve_task_result_conclusion", + "target": "valueerror", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_task.py", + "source_location": "L773", + "weight": 1.0 + }, { "source": "crud_qc_task_apply_task_result", "target": "valueerror", @@ -238890,7 +239040,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L781", + "source_location": "L797", "weight": 1.0 }, { @@ -238900,7 +239050,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L790", + "source_location": "L804", "weight": 1.0 }, { @@ -238910,7 +239060,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L815", + "source_location": "L829", "weight": 1.0 }, { @@ -238920,7 +239070,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L817", + "source_location": "L831", "weight": 1.0 }, { @@ -238930,7 +239080,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L834", + "source_location": "L848", "weight": 1.0 }, { @@ -238940,7 +239090,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L873", + "source_location": "L887", "weight": 1.0 }, { @@ -238950,7 +239100,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L879", + "source_location": "L893", "weight": 1.0 }, { @@ -238960,7 +239110,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L880", + "source_location": "L894", "weight": 1.0 }, { @@ -238970,7 +239120,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L974", + "source_location": "L988", "weight": 1.0 }, { @@ -238980,7 +239130,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L1013", + "source_location": "L1027", "weight": 1.0 }, { @@ -238990,7 +239140,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L1035", + "source_location": "L1049", "weight": 1.0 }, { @@ -239000,7 +239150,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L1046", + "source_location": "L1060", "weight": 1.0 }, { @@ -239010,7 +239160,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L1053", + "source_location": "L1067", "weight": 1.0 }, { @@ -239020,7 +239170,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_task.py", - "source_location": "L1069", + "source_location": "L1083", "weight": 1.0 }, { @@ -268140,7 +268290,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1197", + "source_location": "L1194", "weight": 1.0 }, { @@ -268150,7 +268300,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1201", + "source_location": "L1198", "weight": 1.0 }, { @@ -268160,7 +268310,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1215", + "source_location": "L1212", "weight": 1.0 }, { @@ -268170,7 +268320,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1217", + "source_location": "L1214", "weight": 1.0 }, { @@ -268180,7 +268330,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1218", + "source_location": "L1215", "weight": 1.0 }, { @@ -268190,7 +268340,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1219", + "source_location": "L1216", "weight": 1.0 }, { @@ -268200,7 +268350,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1225", + "source_location": "L1222", "weight": 1.0 }, { @@ -268210,7 +268360,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1247", + "source_location": "L1244", "weight": 1.0 }, { @@ -268220,7 +268370,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1248", + "source_location": "L1245", "weight": 1.0 }, { @@ -268230,7 +268380,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1253", + "source_location": "L1250", "weight": 1.0 }, { @@ -268240,7 +268390,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1255", + "source_location": "L1252", "weight": 1.0 }, { @@ -268250,7 +268400,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1255", + "source_location": "L1252", "weight": 1.0 }, { @@ -268260,7 +268410,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1257", + "source_location": "L1254", "weight": 1.0 }, { @@ -268270,7 +268420,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1257", + "source_location": "L1254", "weight": 1.0 }, { @@ -268280,7 +268430,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1271", + "source_location": "L1268", "weight": 1.0 }, { @@ -268290,7 +268440,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1272", + "source_location": "L1269", "weight": 1.0 }, { @@ -268300,7 +268450,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1272", + "source_location": "L1269", "weight": 1.0 }, { @@ -268310,7 +268460,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1273", + "source_location": "L1270", "weight": 1.0 }, { @@ -268320,7 +268470,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1275", + "source_location": "L1272", "weight": 1.0 }, { @@ -268330,7 +268480,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1275", + "source_location": "L1272", "weight": 1.0 }, { @@ -268340,7 +268490,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1284", + "source_location": "L1281", "weight": 1.0 }, { @@ -268350,7 +268500,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1286", + "source_location": "L1283", "weight": 1.0 }, { @@ -268360,7 +268510,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1290", + "source_location": "L1287", "weight": 1.0 }, { @@ -268370,7 +268520,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1311", + "source_location": "L1308", "weight": 1.0 }, { @@ -268380,7 +268530,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1313", + "source_location": "L1310", "weight": 1.0 }, { @@ -268390,7 +268540,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1314", + "source_location": "L1311", "weight": 1.0 }, { @@ -268400,19 +268550,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1330", + "weight": 1.0 + }, + { + "source": "api_qc_maybe_strip_qc_material_stock_check_detail", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1333", "weight": 1.0 }, - { - "source": "api_qc_maybe_strip_qc_material_stock_check_detail", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1336", - "weight": 1.0 - }, { "source": "api_qc_maybe_strip_qc_material_stock_check_detail", "target": "core_menu_guard_strip_row_fields", @@ -268420,7 +268570,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1338", + "source_location": "L1335", "weight": 1.0 }, { @@ -268430,7 +268580,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1465", + "source_location": "L1462", "weight": 1.0 }, { @@ -268440,7 +268590,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1466", + "source_location": "L1463", "weight": 1.0 }, { @@ -268450,7 +268600,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1477", + "source_location": "L1474", "weight": 1.0 }, { @@ -268460,7 +268610,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1477", + "source_location": "L1474", "weight": 1.0 }, { @@ -268470,7 +268620,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1479", + "source_location": "L1476", "weight": 1.0 }, { @@ -268480,7 +268630,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1479", + "source_location": "L1476", "weight": 1.0 }, { @@ -268490,7 +268640,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1493", + "source_location": "L1490", "weight": 1.0 }, { @@ -268500,7 +268650,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1494", + "source_location": "L1491", "weight": 1.0 }, { @@ -268510,7 +268660,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1502", + "source_location": "L1499", "weight": 1.0 }, { @@ -268520,7 +268670,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1504", + "source_location": "L1501", "weight": 1.0 }, { @@ -268530,7 +268680,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1504", + "source_location": "L1501", "weight": 1.0 }, { @@ -268540,7 +268690,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1514", + "source_location": "L1511", "weight": 1.0 }, { @@ -268550,7 +268700,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1515", + "source_location": "L1512", "weight": 1.0 }, { @@ -268560,7 +268710,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1517", + "source_location": "L1514", "weight": 1.0 }, { @@ -268570,7 +268720,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1519", + "source_location": "L1516", "weight": 1.0 }, { @@ -268580,7 +268730,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1519", + "source_location": "L1516", "weight": 1.0 }, { @@ -268590,7 +268740,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1532", + "source_location": "L1529", "weight": 1.0 }, { @@ -268600,7 +268750,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1533", + "source_location": "L1530", "weight": 1.0 }, { @@ -268610,7 +268760,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1536", + "source_location": "L1533", "weight": 1.0 }, { @@ -268620,7 +268770,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1543", + "source_location": "L1540", "weight": 1.0 }, { @@ -268630,7 +268780,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1544", + "source_location": "L1541", "weight": 1.0 }, { @@ -268640,7 +268790,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1546", + "source_location": "L1543", "weight": 1.0 }, { @@ -268650,7 +268800,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1551", + "source_location": "L1548", "weight": 1.0 }, { @@ -268660,7 +268810,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1551", + "source_location": "L1548", "weight": 1.0 }, { @@ -268670,7 +268820,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1563", + "source_location": "L1560", "weight": 1.0 }, { @@ -268680,7 +268830,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1564", + "source_location": "L1561", "weight": 1.0 }, { @@ -268690,7 +268840,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1565", + "source_location": "L1562", "weight": 1.0 }, { @@ -268700,7 +268850,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1566", + "source_location": "L1563", "weight": 1.0 }, { @@ -268710,7 +268860,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1568", + "source_location": "L1565", "weight": 1.0 }, { @@ -268720,7 +268870,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1568", + "source_location": "L1565", "weight": 1.0 }, { @@ -268730,7 +268880,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1583", + "source_location": "L1580", "weight": 1.0 }, { @@ -268740,7 +268890,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1584", + "source_location": "L1581", "weight": 1.0 }, { @@ -268750,7 +268900,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1588", + "source_location": "L1585", "weight": 1.0 }, { @@ -268760,7 +268910,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1588", + "source_location": "L1585", "weight": 1.0 }, { @@ -268770,7 +268920,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1590", + "source_location": "L1587", "weight": 1.0 }, { @@ -268780,7 +268930,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1590", + "source_location": "L1587", "weight": 1.0 }, { @@ -268790,7 +268940,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1601", + "source_location": "L1598", "weight": 1.0 }, { @@ -268800,7 +268950,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1602", + "source_location": "L1599", "weight": 1.0 }, { @@ -268810,7 +268960,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1602", + "source_location": "L1599", "weight": 1.0 }, { @@ -268820,7 +268970,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1604", + "source_location": "L1601", "weight": 1.0 }, { @@ -268830,7 +268980,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1604", + "source_location": "L1601", "weight": 1.0 }, { @@ -268840,7 +268990,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1614", + "source_location": "L1611", "weight": 1.0 }, { @@ -268850,7 +269000,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1615", + "source_location": "L1612", "weight": 1.0 }, { @@ -268860,7 +269010,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1616", + "source_location": "L1613", "weight": 1.0 }, { @@ -268870,19 +269020,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1619", + "weight": 1.0 + }, + { + "source": "api_qc_create_qc_material", + "target": "crud_qc_material_norm_status", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1622", "weight": 1.0 }, - { - "source": "api_qc_create_qc_material", - "target": "crud_qc_material_norm_status", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1625", - "weight": 1.0 - }, { "source": "api_qc_create_qc_material", "target": "core_response_success_response", @@ -268890,7 +269040,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1630", + "source_location": "L1627", "weight": 1.0 }, { @@ -268900,7 +269050,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1630", + "source_location": "L1627", "weight": 1.0 }, { @@ -268910,7 +269060,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1632", + "source_location": "L1629", "weight": 1.0 }, { @@ -268920,7 +269070,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1645", + "source_location": "L1642", "weight": 1.0 }, { @@ -268930,19 +269080,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1643", + "weight": 1.0 + }, + { + "source": "api_qc_update_qc_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1646", "weight": 1.0 }, - { - "source": "api_qc_update_qc_material", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1649", - "weight": 1.0 - }, { "source": "api_qc_update_qc_material", "target": "crud_qc_material_norm_status", @@ -268950,7 +269100,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1651", + "source_location": "L1648", "weight": 1.0 }, { @@ -268960,7 +269110,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1652", + "source_location": "L1649", "weight": 1.0 }, { @@ -268970,7 +269120,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1659", + "source_location": "L1656", "weight": 1.0 }, { @@ -268980,7 +269130,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1659", + "source_location": "L1656", "weight": 1.0 }, { @@ -268990,7 +269140,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1661", + "source_location": "L1658", "weight": 1.0 }, { @@ -269000,7 +269150,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1673", + "source_location": "L1670", "weight": 1.0 }, { @@ -269010,7 +269160,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1674", + "source_location": "L1671", "weight": 1.0 }, { @@ -269020,7 +269170,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1675", + "source_location": "L1672", "weight": 1.0 }, { @@ -269030,7 +269180,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1676", + "source_location": "L1673", "weight": 1.0 }, { @@ -269040,7 +269190,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1678", + "source_location": "L1675", "weight": 1.0 }, { @@ -269050,7 +269200,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1678", + "source_location": "L1675", "weight": 1.0 }, { @@ -269060,7 +269210,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1690", + "source_location": "L1687", "weight": 1.0 }, { @@ -269070,19 +269220,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1688", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1691", "weight": 1.0 }, - { - "source": "api_qc_batch_stock_in_qc_material", - "target": "core_utils_parse_datetime", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1694", - "weight": 1.0 - }, { "source": "api_qc_batch_stock_in_qc_material", "target": "core_response_error_response", @@ -269090,7 +269240,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1696", + "source_location": "L1693", "weight": 1.0 }, { @@ -269100,7 +269250,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1725", + "source_location": "L1722", "weight": 1.0 }, { @@ -269110,7 +269260,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1733", + "source_location": "L1730", "weight": 1.0 }, { @@ -269120,7 +269270,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1735", + "source_location": "L1732", "weight": 1.0 }, { @@ -269130,7 +269280,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1747", + "source_location": "L1744", "weight": 1.0 }, { @@ -269140,19 +269290,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1745", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1748", "weight": 1.0 }, - { - "source": "api_qc_batch_stock_out_qc_material", - "target": "core_utils_parse_datetime", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1751", - "weight": 1.0 - }, { "source": "api_qc_batch_stock_out_qc_material", "target": "core_response_error_response", @@ -269160,7 +269310,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1753", + "source_location": "L1750", "weight": 1.0 }, { @@ -269170,7 +269320,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1759", + "source_location": "L1756", "weight": 1.0 }, { @@ -269180,7 +269330,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1769", + "source_location": "L1766", "weight": 1.0 }, { @@ -269190,7 +269340,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1771", + "source_location": "L1768", "weight": 1.0 }, { @@ -269200,7 +269350,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1783", + "source_location": "L1780", "weight": 1.0 }, { @@ -269210,19 +269360,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1781", + "weight": 1.0 + }, + { + "source": "api_qc_batch_discard_qc_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1784", "weight": 1.0 }, - { - "source": "api_qc_batch_discard_qc_material", - "target": "core_utils_parse_datetime", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1787", - "weight": 1.0 - }, { "source": "api_qc_batch_discard_qc_material", "target": "core_response_error_response", @@ -269230,7 +269380,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1789", + "source_location": "L1786", "weight": 1.0 }, { @@ -269240,7 +269390,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1802", + "source_location": "L1799", "weight": 1.0 }, { @@ -269250,7 +269400,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1811", + "source_location": "L1808", "weight": 1.0 }, { @@ -269260,7 +269410,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1813", + "source_location": "L1810", "weight": 1.0 }, { @@ -269270,7 +269420,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1826", + "source_location": "L1823", "weight": 1.0 }, { @@ -269280,7 +269430,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1827", + "source_location": "L1824", "weight": 1.0 }, { @@ -269290,7 +269440,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1830", + "source_location": "L1827", "weight": 1.0 }, { @@ -269300,7 +269450,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1832", + "source_location": "L1829", "weight": 1.0 }, { @@ -269310,7 +269460,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1839", + "source_location": "L1836", "weight": 1.0 }, { @@ -269320,7 +269470,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1850", + "source_location": "L1847", "weight": 1.0 }, { @@ -269330,7 +269480,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1856", + "source_location": "L1853", "weight": 1.0 }, { @@ -269340,7 +269490,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1856", + "source_location": "L1853", "weight": 1.0 }, { @@ -269350,7 +269500,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1910", + "source_location": "L1907", "weight": 1.0 }, { @@ -269360,7 +269510,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1911", + "source_location": "L1908", "weight": 1.0 }, { @@ -269370,7 +269520,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1919", + "source_location": "L1916", "weight": 1.0 }, { @@ -269380,7 +269530,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1919", + "source_location": "L1916", "weight": 1.0 }, { @@ -269390,7 +269540,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1921", + "source_location": "L1918", "weight": 1.0 }, { @@ -269400,7 +269550,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1921", + "source_location": "L1918", "weight": 1.0 }, { @@ -269410,7 +269560,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1941", + "source_location": "L1938", "weight": 1.0 }, { @@ -269420,7 +269570,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1942", + "source_location": "L1939", "weight": 1.0 }, { @@ -269430,7 +269580,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1945", + "source_location": "L1942", "weight": 1.0 }, { @@ -269440,7 +269590,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1946", + "source_location": "L1943", "weight": 1.0 }, { @@ -269450,7 +269600,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1956", + "source_location": "L1953", "weight": 1.0 }, { @@ -269460,39 +269610,39 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1954", + "weight": 1.0 + }, + { + "source": "api_qc_list_my_qc_material_usages", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1955", + "weight": 1.0 + }, + { + "source": "api_qc_list_my_qc_material_usages", + "target": "api_protocol_sample_collection_page_payload", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1955", + "weight": 1.0 + }, + { + "source": "api_qc_list_my_qc_material_usages", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1957", "weight": 1.0 }, - { - "source": "api_qc_list_my_qc_material_usages", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1958", - "weight": 1.0 - }, - { - "source": "api_qc_list_my_qc_material_usages", - "target": "api_protocol_sample_collection_page_payload", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1958", - "weight": 1.0 - }, - { - "source": "api_qc_list_my_qc_material_usages", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1960", - "weight": 1.0 - }, { "source": "api_qc_list_my_qc_material_usages", "target": "str", @@ -269500,7 +269650,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1960", + "source_location": "L1957", "weight": 1.0 }, { @@ -269510,7 +269660,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1975", + "source_location": "L1972", "weight": 1.0 }, { @@ -269520,7 +269670,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1976", + "source_location": "L1973", "weight": 1.0 }, { @@ -269530,7 +269680,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1980", + "source_location": "L1977", "weight": 1.0 }, { @@ -269540,7 +269690,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1983", + "source_location": "L1980", "weight": 1.0 }, { @@ -269550,19 +269700,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L1981", + "weight": 1.0 + }, + { + "source": "api_qc_list_qc_material_linked_task_usages", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L1984", "weight": 1.0 }, - { - "source": "api_qc_list_qc_material_linked_task_usages", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L1987", - "weight": 1.0 - }, { "source": "api_qc_list_qc_material_linked_task_usages", "target": "core_response_error_response", @@ -269570,7 +269720,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L1988", + "source_location": "L1985", "weight": 1.0 }, { @@ -269580,7 +269730,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2005", + "source_location": "L2002", "weight": 1.0 }, { @@ -269590,7 +269740,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2006", + "source_location": "L2003", "weight": 1.0 }, { @@ -269600,7 +269750,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2015", + "source_location": "L2012", "weight": 1.0 }, { @@ -269610,7 +269760,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2015", + "source_location": "L2012", "weight": 1.0 }, { @@ -269620,7 +269770,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2017", + "source_location": "L2014", "weight": 1.0 }, { @@ -269630,7 +269780,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2017", + "source_location": "L2014", "weight": 1.0 }, { @@ -269640,7 +269790,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2032", + "source_location": "L2029", "weight": 1.0 }, { @@ -269650,7 +269800,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2033", + "source_location": "L2030", "weight": 1.0 }, { @@ -269660,7 +269810,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2034", + "source_location": "L2031", "weight": 1.0 }, { @@ -269670,7 +269820,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2041", + "source_location": "L2038", "weight": 1.0 }, { @@ -269680,7 +269830,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2043", + "source_location": "L2040", "weight": 1.0 }, { @@ -269690,7 +269840,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2043", + "source_location": "L2040", "weight": 1.0 }, { @@ -269700,7 +269850,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2097", + "source_location": "L2094", "weight": 1.0 }, { @@ -269710,7 +269860,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2098", + "source_location": "L2095", "weight": 1.0 }, { @@ -269720,7 +269870,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2109", + "source_location": "L2106", "weight": 1.0 }, { @@ -269730,7 +269880,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2109", + "source_location": "L2106", "weight": 1.0 }, { @@ -269740,7 +269890,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2111", + "source_location": "L2108", "weight": 1.0 }, { @@ -269750,7 +269900,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2111", + "source_location": "L2108", "weight": 1.0 }, { @@ -269760,7 +269910,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2123", + "source_location": "L2120", "weight": 1.0 }, { @@ -269770,7 +269920,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2124", + "source_location": "L2121", "weight": 1.0 }, { @@ -269780,7 +269930,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2125", + "source_location": "L2122", "weight": 1.0 }, { @@ -269790,7 +269940,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2126", + "source_location": "L2123", "weight": 1.0 }, { @@ -269800,7 +269950,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2135", + "source_location": "L2132", "weight": 1.0 }, { @@ -269810,7 +269960,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2137", + "source_location": "L2134", "weight": 1.0 }, { @@ -269820,7 +269970,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2137", + "source_location": "L2134", "weight": 1.0 }, { @@ -269830,7 +269980,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2149", + "source_location": "L2146", "weight": 1.0 }, { @@ -269840,7 +269990,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2150", + "source_location": "L2147", "weight": 1.0 }, { @@ -269850,7 +270000,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2152", + "source_location": "L2149", "weight": 1.0 }, { @@ -269860,7 +270010,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2154", + "source_location": "L2151", "weight": 1.0 }, { @@ -269870,7 +270020,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2154", + "source_location": "L2151", "weight": 1.0 }, { @@ -269880,7 +270030,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2167", + "source_location": "L2164", "weight": 1.0 }, { @@ -269890,7 +270040,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2168", + "source_location": "L2165", "weight": 1.0 }, { @@ -269900,7 +270050,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2169", + "source_location": "L2166", "weight": 1.0 }, { @@ -269910,7 +270060,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2170", + "source_location": "L2167", "weight": 1.0 }, { @@ -269920,7 +270070,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2178", + "source_location": "L2175", "weight": 1.0 }, { @@ -269930,7 +270080,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2180", + "source_location": "L2177", "weight": 1.0 }, { @@ -269940,7 +270090,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2180", + "source_location": "L2177", "weight": 1.0 }, { @@ -269950,7 +270100,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2192", + "source_location": "L2189", "weight": 1.0 }, { @@ -269960,7 +270110,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2193", + "source_location": "L2190", "weight": 1.0 }, { @@ -269970,7 +270120,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2194", + "source_location": "L2191", "weight": 1.0 }, { @@ -269980,7 +270130,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2195", + "source_location": "L2192", "weight": 1.0 }, { @@ -269990,7 +270140,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2197", + "source_location": "L2194", "weight": 1.0 }, { @@ -270000,7 +270150,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2197", + "source_location": "L2194", "weight": 1.0 }, { @@ -270010,7 +270160,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2209", + "source_location": "L2206", "weight": 1.0 }, { @@ -270020,7 +270170,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2210", + "source_location": "L2207", "weight": 1.0 }, { @@ -270030,7 +270180,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2211", + "source_location": "L2208", "weight": 1.0 }, { @@ -270040,7 +270190,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2212", + "source_location": "L2209", "weight": 1.0 }, { @@ -270050,7 +270200,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2214", + "source_location": "L2211", "weight": 1.0 }, { @@ -270060,7 +270210,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2214", + "source_location": "L2211", "weight": 1.0 }, { @@ -270070,7 +270220,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2242", + "source_location": "L2239", "weight": 1.0 }, { @@ -270080,7 +270230,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2243", + "source_location": "L2240", "weight": 1.0 }, { @@ -270090,7 +270240,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2250", + "source_location": "L2247", "weight": 1.0 }, { @@ -270100,7 +270250,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2250", + "source_location": "L2247", "weight": 1.0 }, { @@ -270110,7 +270260,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2252", + "source_location": "L2249", "weight": 1.0 }, { @@ -270120,7 +270270,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2252", + "source_location": "L2249", "weight": 1.0 }, { @@ -270130,7 +270280,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2263", + "source_location": "L2260", "weight": 1.0 }, { @@ -270140,7 +270290,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2264", + "source_location": "L2261", "weight": 1.0 }, { @@ -270150,7 +270300,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2265", + "source_location": "L2262", "weight": 1.0 }, { @@ -270160,7 +270310,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2272", + "source_location": "L2269", "weight": 1.0 }, { @@ -270170,7 +270320,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2274", + "source_location": "L2271", "weight": 1.0 }, { @@ -270180,7 +270330,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2274", + "source_location": "L2271", "weight": 1.0 }, { @@ -270190,7 +270340,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2287", + "source_location": "L2284", "weight": 1.0 }, { @@ -270200,7 +270350,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2288", + "source_location": "L2285", "weight": 1.0 }, { @@ -270210,7 +270360,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2289", + "source_location": "L2286", "weight": 1.0 }, { @@ -270220,29 +270370,29 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", + "source_location": "L2293", + "weight": 1.0 + }, + { + "source": "api_qc_revoke_qc_material_amount_auth", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L2294", + "weight": 1.0 + }, + { + "source": "api_qc_revoke_qc_material_amount_auth", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", "source_location": "L2296", "weight": 1.0 }, - { - "source": "api_qc_revoke_qc_material_amount_auth", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L2297", - "weight": 1.0 - }, - { - "source": "api_qc_revoke_qc_material_amount_auth", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L2299", - "weight": 1.0 - }, { "source": "api_qc_batch_revoke_qc_material_amount_auth", "target": "api_clinical_payment_get_tenant_no", @@ -270250,7 +270400,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2312", + "source_location": "L2309", "weight": 1.0 }, { @@ -270260,7 +270410,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2313", + "source_location": "L2310", "weight": 1.0 }, { @@ -270270,7 +270420,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2319", + "source_location": "L2316", "weight": 1.0 }, { @@ -270280,7 +270430,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2326", + "source_location": "L2323", "weight": 1.0 }, { @@ -270290,7 +270440,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2328", + "source_location": "L2325", "weight": 1.0 }, { @@ -270300,7 +270450,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L2328", + "source_location": "L2325", "weight": 1.0 }, { diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index 9c5182a4..b8aba119 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,11 +1,11 @@ -# Graph Report - app (2026-07-21) +# Graph Report - app (2026-07-22) ## Corpus Check -- Large corpus: 225 files · ~280,117 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 225 files · ~280,154 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary -- 4764 nodes · 26310 edges · 39 communities detected -- Extraction: 31% EXTRACTED · 69% INFERRED · 0% AMBIGUOUS · INFERRED: 18051 edges (avg confidence: 0.6) +- 4766 nodes · 26325 edges · 38 communities detected +- Extraction: 31% EXTRACTED · 69% INFERRED · 0% AMBIGUOUS · INFERRED: 18063 edges (avg confidence: 0.6) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) @@ -41,19 +41,18 @@ - [[_COMMUNITY_Community 29|Community 29]] - [[_COMMUNITY_Community 30|Community 30]] - [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] +- [[_COMMUNITY_Community 34|Community 34]] - [[_COMMUNITY_Community 35|Community 35]] - [[_COMMUNITY_Community 36|Community 36]] - [[_COMMUNITY_Community 37|Community 37]] - [[_COMMUNITY_Community 38|Community 38]] - [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] ## God Nodes (most connected - your core abstractions) 1. `success_response()` - 708 edges 2. `error_response()` - 587 edges 3. `SysUser` - 551 edges -4. `BizQcTaskResult` - 333 edges +4. `BizQcTaskResult` - 334 edges 5. `BizProductionMaterial` - 324 edges 6. `BizProductionMaterialUsage` - 318 edges 7. `BizQcMaterialUsage` - 316 edges @@ -77,23 +76,23 @@ ### Community 0 - "Community 0" Cohesion: 0.01 -Nodes (926): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+918 more) +Nodes (911): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+903 more) ### Community 1 - "Community 1" Cohesion: 0.01 -Nodes (746): generate_uuid(), allocate_next_biz_no(), _format_biz_no(), _prefix_for(), 业务协议号自动生成:XBCC / JZCC + YYYYMMDD + 6 位序号, 原子分配下一个业务协议号。 须在 create 事务内调用;使用 MySQL LAST_INSERT_ID 保证并发安全。, create_cell_sample_type(), get_cell_sample_type() (+738 more) +Nodes (698): generate_uuid(), allocate_next_biz_no(), _format_biz_no(), _prefix_for(), 业务协议号自动生成:XBCC / JZCC + YYYYMMDD + 6 位序号, 原子分配下一个业务协议号。 须在 create 事务内调用;使用 MySQL LAST_INSERT_ID 保证并发安全。, create_cell_sample_type(), get_cell_sample_type() (+690 more) ### Community 2 - "Community 2" Cohesion: 0.01 -Nodes (601): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+593 more) +Nodes (613): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+605 more) ### Community 3 - "Community 3" -Cohesion: 0.01 -Nodes (339): _normalize_date_bound(), _persist_protocol_sub_resources(), list_ethnics_for_select(), _body_to_payload(), _get_current_user_id(), get_production_reception_by_sample_code(), get_production_reception_detail(), _get_tenant_no() (+331 more) +Cohesion: 0.08 +Nodes (373): 保险公司及险种价格管理 API(保险公司 + 开票信息 + 险种价格), ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, 审批意见:前端传 commentText,兼容 comment。, StartInstanceBody, TaskActionBody, Base (+365 more) ### Community 4 - "Community 4" -Cohesion: 0.08 -Nodes (373): CellSampleTypeCreateBody, CellSampleTypeUpdateBody, CollectionRegionCreateBody, CollectionRegionUpdateBody, CustomerCreateBody, CustomerUpdateBody, HospitalCreateBody, HospitalUpdateBody (+365 more) +Cohesion: 0.01 +Nodes (289): _normalize_date_bound(), batch_delete_research_donations(), change_donation_status(), convert_from_storage(), convert_to_storage(), create_research_donation(), delete_research_donation(), _get_current_user_id() (+281 more) ### Community 5 - "Community 5" Cohesion: 0.08 @@ -101,47 +100,47 @@ Nodes (259): AuditCreateBody, BatchDetailIdsBody, BatchRefundFinanceSubmitBody, ### Community 6 - "Community 6" Cohesion: 0.02 -Nodes (198): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。, 跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。, 将列显式设为 utf8mb4_unicode_ci。, unicode_ci(), batch_review(), _dec() (+190 more) +Nodes (211): 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() (+203 more) ### Community 7 - "Community 7" Cohesion: 0.02 -Nodes (112): get_designer_data(), _error_json(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware, ApiCryptoError (+104 more) +Nodes (182): get_next_cell_product_code(), _ancestor_link_from_cell_product_input(), _ancestor_sample_chain_link(), _apply_cell_product_status_change(), _build_ancestor_chain(), _build_descendant_chain(), _build_facility_path_label(), create_cell_product() (+174 more) ### Community 8 - "Community 8" -Cohesion: 0.04 -Nodes (141): 发起前预览审批链(条件齐后解析最终路径与审批人)。, 兼容旧 GET:无 formData,含条件分支时多为待确定占位。, _app_to_dict(), create_app(), create_group(), create_role(), _create_version(), delete_app() (+133 more) +Cohesion: 0.02 +Nodes (165): list_ethnics_for_select(), apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), ApiRequestLogCRUD, delete(), get_multi_with_filters() (+157 more) ### Community 9 - "Community 9" -Cohesion: 0.03 -Nodes (116): auto_create_payment(), get_protocol_nos_used_in_protocols(), _fmt_dt(), get_handover_by_schedule(), get_outbound_handover(), get_outbound_handover_view(), _handover_row_to_dict(), _handover_view_dict() (+108 more) +Cohesion: 0.02 +Nodes (112): get_designer_data(), _error_json(), lifespan(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware (+104 more) ### Community 10 - "Community 10" Cohesion: 0.04 -Nodes (116): build_void_type_label_map(), format_protocol_status_label(), resolve_void_type_label(), join_equipment_ids(), parse_equipment_ids(), 工艺/步骤设备多选:逗号分隔 ID 与名称快照解析, 校验设备列表,返回 (equipment_ids 逗号串, equipment_name 逗号串快照)。, resolve_equipment_list_snapshot() (+108 more) +Nodes (104): 发起前预览审批链(条件齐后解析最终路径与审批人)。, 兼容旧 GET:无 formData,含条件分支时多为待确定占位。, _app_to_dict(), create_app(), _create_version(), delete_app(), delete_group(), _dumps() (+96 more) ### Community 11 - "Community 11" -Cohesion: 0.05 -Nodes (104): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, list_storage_slot_stats(), OccupancyCreateBody (+96 more) +Cohesion: 0.06 +Nodes (101): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, OccupancyCreateBody, 运营支撑 API(洁净室、进出记录、仓储设施、储位、展厅预约) (+93 more) ### Community 12 - "Community 12" +Cohesion: 0.05 +Nodes (72): complete_application(), create_basic_experiment_sale_schedules(), create_infusion_plan(), create_schedule(), _create_schedule_products(), _format_yyyy_mm_dd(), _generate_application_no(), get_application() (+64 more) + +### Community 13 - "Community 13" Cohesion: 0.45 Nodes (69): BatchStockInBody, BatchStockInItem, BatchStockOutBody, BatchStockOutItem, ConsumableCreateBody, ConsumablePackCreateBody, ConsumablePackUpdateBody, ConsumableUpdateBody (+61 more) -### Community 13 - "Community 13" -Cohesion: 0.06 -Nodes (66): get_next_cell_product_code(), _ancestor_link_from_cell_product_input(), _ancestor_sample_chain_link(), _apply_cell_product_status_change(), _build_ancestor_chain(), _build_descendant_chain(), _build_facility_path_label(), build_split_product_codes() (+58 more) - ### Community 14 - "Community 14" -Cohesion: 0.06 -Nodes (49): _jwt_user_payload(), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。, refresh_token(), web_login(), web_login_rsa_public_key(), lifespan(), create_access_token() (+41 more) +Cohesion: 0.07 +Nodes (47): _jwt_user_payload(), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。, refresh_token(), web_login(), web_login_rsa_public_key(), create_access_token(), create_refresh_token() (+39 more) ### Community 15 - "Community 15" -Cohesion: 0.12 -Nodes (11): get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.ht, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total, 申请退款 Args: out_trade_no: 商户订单号 total_amount, 小程序调起支付的二次签名参数(与公众号 JSAPI 规则一致), 统一下单 (V2 API) Args: out_trade_no: 商户订单号 tot, 生成签名 V3 (SHA256 with RSA) (+3 more) +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 16 - "Community 16" -Cohesion: 0.19 -Nodes (27): _amount_for_row(), _batch_map(), deduct_for_task(), _deduct_task_usage_legacy_batch(), _display_remark(), _fmt_date_val(), _linked_qc_task_no_map(), list_linked_task_usages() (+19 more) +Cohesion: 0.12 +Nodes (11): get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.ht, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total, 申请退款 Args: out_trade_no: 商户订单号 total_amount, 小程序调起支付的二次签名参数(与公众号 JSAPI 规则一致), 统一下单 (V2 API) Args: out_trade_no: 商户订单号 tot, 生成签名 V3 (SHA256 with RSA) (+3 more) ### Community 17 - "Community 17" Cohesion: 0.21 @@ -168,17 +167,17 @@ 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 23 - "Community 23" +Cohesion: 0.31 +Nodes (10): _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), get_dept(), list_depts(), list_depts_tree(), 保留匹配节点及其全部上级,供关键词检索后仍能正确组树。, _row_to_dict() (+2 more) + +### Community 24 - "Community 24" Cohesion: 0.29 Nodes (2): BaseModel, SoftDeleteModel -### Community 24 - "Community 24" +### Community 25 - "Community 25" Cohesion: 0.38 Nodes (6): derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。, ThreeStatus, _to_decimal() -### Community 25 - "Community 25" -Cohesion: 0.6 -Nodes (5): _dec(), _fmt_dt(), list_stock_logs(), _row_to_dict(), _user_nick_name_map() - ### Community 26 - "Community 26" Cohesion: 0.5 Nodes (3): BaseSettings, Config, Settings @@ -188,88 +187,82 @@ Cohesion: 0.5 Nodes (2): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID ### Community 28 - "Community 28" -Cohesion: 0.5 -Nodes (2): delete(), get_multi_with_filters() - -### Community 29 - "Community 29" Cohesion: 0.67 Nodes (2): get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组) -### Community 30 - "Community 30" +### Community 29 - "Community 29" Cohesion: 1.0 Nodes (1): 质检物料金额查看授权:专用角色与菜单权限常量。 -### Community 31 - "Community 31" +### Community 30 - "Community 30" Cohesion: 1.0 Nodes (1): 请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传 -### Community 32 - "Community 32" +### Community 31 - "Community 31" Cohesion: 1.0 Nodes (1): API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位) -### Community 35 - "Community 35" +### Community 34 - "Community 34" Cohesion: 1.0 Nodes (1): 发送订单状态通知 Args: openid: 用户openid ord -### Community 36 - "Community 36" +### Community 35 - "Community 35" Cohesion: 1.0 Nodes (1): 发送支付成功通知 Args: openid: 用户openid ord -### Community 37 - "Community 37" +### Community 36 - "Community 36" Cohesion: 1.0 Nodes (1): 发送配送通知 Args: openid: 配送员openid task -### Community 38 - "Community 38" +### Community 37 - "Community 37" Cohesion: 1.0 Nodes (1): 发送配送时效预警 Args: openid: 配送员openid ta -### Community 39 - "Community 39" +### Community 38 - "Community 38" Cohesion: 1.0 Nodes (1): 发送退款结果通知 Args: openid: 用户openid ord -### Community 40 - "Community 40" +### Community 39 - "Community 39" Cohesion: 1.0 Nodes (1): 发送催单通知给配送员 Args: deliver_openid: 配送员openid ## Knowledge Gaps - **134 isolated node(s):** `刷新会话 TTL(refreshToken 续期;已登录用户每次 API 校验通过后滑动续期)`, `写入 refreshToken(用于 one-time 使用/吊销)`, `根据 token 获取当前用户(包含 Redis 会话校验;会话滑动续期)`, `登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。`, `加载 RSA 密钥对:优先环境变量,否则使用内置固定默认密钥。` (+129 more) These have ≤1 connection - possible missing edges or undocumented components. -- **Thin community `Community 23`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` +- **Thin community `Community 24`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 27`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 28`** (4 nodes): `delete()`, `get()`, `get_multi_with_filters()`, `api_request_log.py` +- **Thin community `Community 28`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 29`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` +- **Thin community `Community 29`** (2 nodes): `qc_material_amount_auth_constants.py`, `质检物料金额查看授权:专用角色与菜单权限常量。` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 30`** (2 nodes): `qc_material_amount_auth_constants.py`, `质检物料金额查看授权:专用角色与菜单权限常量。` +- **Thin community `Community 30`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 31`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` +- **Thin community `Community 31`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 32`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` +- **Thin community `Community 34`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 35`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` +- **Thin community `Community 35`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 36`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` +- **Thin community `Community 36`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 37`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` +- **Thin community `Community 37`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 38`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` +- **Thin community `Community 38`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 39`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` - Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 40`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` +- **Thin community `Community 39`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` Too small to be a meaningful cluster - may be noise or needs more connections extracted. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `SysUser` connect `Community 2` to `Community 1`, `Community 3`, `Community 4`, `Community 5`, `Community 7`, `Community 8`, `Community 9`, `Community 11`, `Community 12`, `Community 14`, `Community 21`, `Community 22`?** - _High betweenness centrality (0.139) - this node is a cross-community bridge._ -- **Why does `success_response()` connect `Community 0` to `Community 2`, `Community 3`, `Community 7`, `Community 11`, `Community 13`, `Community 14`, `Community 29`?** - _High betweenness centrality (0.045) - this node is a cross-community bridge._ -- **Why does `generate_uuid()` connect `Community 1` to `Community 0`, `Community 2`, `Community 3`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 13`, `Community 14`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 21`, `Community 22`?** - _High betweenness centrality (0.037) - this node is a cross-community bridge._ +- **Why does `SysUser` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 13`, `Community 14`, `Community 21`, `Community 22`?** + _High betweenness centrality (0.123) - this node is a cross-community bridge._ +- **Why does `success_response()` connect `Community 0` to `Community 2`, `Community 4`, `Community 7`, `Community 8`, `Community 9`, `Community 14`, `Community 28`?** + _High betweenness centrality (0.051) - this node is a cross-community bridge._ +- **Why does `generate_uuid()` connect `Community 1` to `Community 0`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 14`, `Community 15`, `Community 17`, `Community 18`, `Community 19`, `Community 21`, `Community 22`?** + _High betweenness centrality (0.042) - this node is a cross-community bridge._ - **Are the 780 inferred relationships involving `str` (e.g. with `unhandled_exception_handler()` and `get_current_user_by_token()`) actually correct?** _`str` has 780 INFERRED edges - model-reasoned connections that need verification._ - **Are the 707 inferred relationships involving `success_response()` (e.g. with `list_storage_release_reviews()` and `get_storage_release_review_detail()`) actually correct?** diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index 2b05946e..60728c34 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -57,12 +57,12 @@
-