diff --git a/backend/app.pid b/backend/app.pid index 5eb608cc5..e1089bee1 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -82445 +64062 diff --git a/backend/app/api/material.py b/backend/app/api/material.py index ad0240ebc..a0c4e6080 100644 --- a/backend/app/api/material.py +++ b/backend/app/api/material.py @@ -27,6 +27,7 @@ class MaterialBody(BaseModel): category: Optional[str] = None spec_model: Optional[str] = Field(None, alias="specModel") unit: Optional[str] = None + warning_qty: Optional[float] = Field(0, alias="warningQty") status: str = "1" order_num: Optional[int] = Field(None, alias="orderNum") remark: Optional[str] = None @@ -40,6 +41,7 @@ class MaterialUpdateBody(BaseModel): category: Optional[str] = None spec_model: Optional[str] = Field(None, alias="specModel") unit: Optional[str] = None + warning_qty: Optional[float] = Field(None, alias="warningQty") status: Optional[str] = None order_num: Optional[int] = Field(None, alias="orderNum") remark: Optional[str] = None diff --git a/backend/app/api/qc.py b/backend/app/api/qc.py index cfc4d5671..0ff9ac2d2 100644 --- a/backend/app/api/qc.py +++ b/backend/app/api/qc.py @@ -5,9 +5,13 @@ from fastapi import APIRouter, Depends, Query from pydantic import BaseModel, ConfigDict, Field from sqlalchemy.orm import Session +from datetime import datetime +from decimal import Decimal + from app.core.database import get_db from app.core.menu_guard import require_admin_or_super_admin, require_menu_code from app.core.response import error_response, success_response +from app.core.utils import parse_datetime from app.crud import qc_lab_test_item as lab_svc from app.crud import qc_item_param as param_svc from app.crud import qc_task_result as result_svc @@ -839,6 +843,46 @@ class StockInBody(BaseModel): model_config = ConfigDict(populate_by_name=True) qty: float = Field(..., gt=0) remark: Optional[str] = None + stock_in_time: Optional[str] = Field(None, alias="stockInTime") + + +class StockOutBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + qty: float = Field(..., gt=0) + receiver: Optional[str] = None + purpose: Optional[str] = None + remark: Optional[str] = None + stock_out_time: Optional[str] = Field(None, alias="stockOutTime") + + +class BatchStockInItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + material_id: str = Field(..., alias="materialId") + qty: float = Field(..., gt=0) + remark: Optional[str] = None + + +class BatchStockInBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + items: List[BatchStockInItem] = Field(..., min_length=1) + remark: Optional[str] = None + stock_in_time: Optional[str] = Field(None, alias="stockInTime") + + +class BatchStockOutItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + material_id: str = Field(..., alias="materialId") + qty: float = Field(..., gt=0) + remark: Optional[str] = None + + +class BatchStockOutBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + items: List[BatchStockOutItem] = Field(..., min_length=1) + receiver: Optional[str] = None + purpose: Optional[str] = None + remark: Optional[str] = None + stock_out_time: Optional[str] = Field(None, alias="stockOutTime") @router.get("/qc-materials") @@ -884,8 +928,21 @@ async def create_qc_material( try: tenant_no = _get_tenant_no(db, user) user_id = _get_current_user_id(user) - obj = mat_svc.create_material(db, body.model_dump(by_alias=True, exclude_none=True), tenant_no=tenant_no, user_id=user_id) - return success_response(obj, message="创建成功") + obj = mat_svc.create_material( + db, + material_code=body.material_code, + material_name=body.material_name, + spec_model=body.spec_model, + unit=body.unit, + warning_qty=Decimal(str(body.warning_qty)) + if body.warning_qty is not None + else None, + status=mat_svc._norm_status(body.status), + remark=body.remark, + tenant_no=tenant_no, + user_id=user_id, + ) + return success_response(mat_svc._row_to_dict(obj), message="创建成功") except ValueError as e: return error_response(str(e)) except Exception as e: @@ -902,8 +959,19 @@ async def update_qc_material( try: tenant_no = _get_tenant_no(db, user) user_id = _get_current_user_id(user) - obj = mat_svc.update_material(db, material_id, body.model_dump(by_alias=True, exclude_none=True), tenant_no=tenant_no, user_id=user_id) - return success_response(obj, message="更新成功") + data = body.model_dump(exclude_none=True) + if "warning_qty" in data: + data["warning_qty"] = Decimal(str(data["warning_qty"])) + if "status" in data: + data["status"] = mat_svc._norm_status(data["status"]) + obj = mat_svc.update_material( + db, + material_id, + tenant_no=tenant_no, + user_id=user_id, + **data, + ) + return success_response(mat_svc._row_to_dict(obj), message="更新成功") except ValueError as e: return error_response(str(e)) except Exception as e: @@ -919,7 +987,7 @@ async def delete_qc_material( try: tenant_no = _get_tenant_no(db, user) user_id = _get_current_user_id(user) - mat_svc.soft_delete_material(db, material_id, tenant_no=tenant_no, user_id=user_id) + mat_svc.soft_delete_material(db, material_id, tenant_no=tenant_no) return success_response(None, message="删除成功") except ValueError as e: return error_response(str(e)) @@ -927,6 +995,76 @@ async def delete_qc_material( return error_response(str(e)) +@router.post("/qc-materials/batch-stock-in") +async def batch_stock_in_qc_material( + body: BatchStockInBody, + db: Session = Depends(get_db), + user: dict = Depends(require_menu_code("biz:qcMaterial:list")), +): + try: + tenant_no = _get_tenant_no(db, user) + user_id = _get_current_user_id(user) + operate_time = datetime.now() + if body.stock_in_time: + rt = parse_datetime(body.stock_in_time) + if not rt: + return error_response("入库时间格式无效") + operate_time = rt + items = [ + {"material_id": x.material_id, "qty": x.qty, "remark": x.remark} + for x in body.items + ] + count = mat_svc.batch_stock_in( + db, + items=items, + remark=body.remark, + tenant_no=tenant_no, + user_id=user_id, + operate_time=operate_time, + ) + return success_response({"count": count}, message=f"批量入库成功,共 {count} 项") + except ValueError as e: + return error_response(str(e)) + except Exception as e: + return error_response(str(e)) + + +@router.post("/qc-materials/batch-stock-out") +async def batch_stock_out_qc_material( + body: BatchStockOutBody, + db: Session = Depends(get_db), + user: dict = Depends(require_menu_code("biz:qcMaterial:list")), +): + try: + tenant_no = _get_tenant_no(db, user) + user_id = _get_current_user_id(user) + operate_time = datetime.now() + if body.stock_out_time: + rt = parse_datetime(body.stock_out_time) + if not rt: + return error_response("出库时间格式无效") + operate_time = rt + items = [ + {"material_id": x.material_id, "qty": x.qty, "remark": x.remark} + for x in body.items + ] + count = mat_svc.batch_stock_out( + db, + items=items, + receiver=body.receiver, + purpose=body.purpose, + remark=body.remark, + tenant_no=tenant_no, + user_id=user_id, + operate_time=operate_time, + ) + return success_response({"count": count}, message=f"批量出库成功,共 {count} 项") + except ValueError as e: + return error_response(str(e)) + except Exception as e: + return error_response(str(e)) + + @router.post("/qc-materials/{material_id}/stock-in") async def stock_in_qc_material( material_id: str, @@ -937,8 +1075,60 @@ async def stock_in_qc_material( try: tenant_no = _get_tenant_no(db, user) user_id = _get_current_user_id(user) - obj = mat_svc.stock_in(db, material_id, qty=body.qty, remark=body.remark, tenant_no=tenant_no, user_id=user_id) - return success_response(obj, message="入库成功") + operate_time = datetime.now() + if body.stock_in_time: + rt = parse_datetime(body.stock_in_time) + if not rt: + return error_response("入库时间格式无效") + operate_time = rt + from decimal import Decimal + + obj = mat_svc.stock_in( + db, + material_id, + qty=Decimal(str(body.qty)), + remark=body.remark, + tenant_no=tenant_no, + user_id=user_id, + operate_time=operate_time, + ) + return success_response(mat_svc._row_to_dict(obj), message="入库成功") + except ValueError as e: + return error_response(str(e)) + except Exception as e: + return error_response(str(e)) + + +@router.post("/qc-materials/{material_id}/stock-out") +async def stock_out_qc_material( + material_id: str, + body: StockOutBody, + db: Session = Depends(get_db), + user: dict = Depends(require_menu_code("biz:qcMaterial:list")), +): + try: + tenant_no = _get_tenant_no(db, user) + user_id = _get_current_user_id(user) + operate_time = datetime.now() + if body.stock_out_time: + rt = parse_datetime(body.stock_out_time) + if not rt: + return error_response("出库时间格式无效") + operate_time = rt + from decimal import Decimal + + obj = mat_svc.stock_out( + db, + material_id, + qty=Decimal(str(body.qty)), + receiver=body.receiver, + purpose=body.purpose, + remark=body.remark, + tenant_no=tenant_no, + user_id=user_id, + operate_time=operate_time, + ) + return success_response(mat_svc._row_to_dict(obj), message="出库成功") except ValueError as e: return error_response(str(e)) except Exception as e: diff --git a/backend/app/api/sample_reception.py b/backend/app/api/sample_reception.py index a5fa68787..7d918953e 100644 --- a/backend/app/api/sample_reception.py +++ b/backend/app/api/sample_reception.py @@ -3,6 +3,7 @@ from typing import List, Optional from fastapi import APIRouter, Depends, Query from pydantic import BaseModel, ConfigDict, Field +from sqlalchemy import or_ from sqlalchemy.orm import Session from app.core.data_scope import apply_data_scope @@ -83,8 +84,15 @@ async def list_check_items( BizSampleReceptionCheckItem.del_flag == 0, BizSampleReceptionCheckItem.tenant_no == tenant_no, ) - if keyword: - query = query.filter(BizSampleReceptionCheckItem.item_name.like(f"%{keyword}%")) + kw = (keyword or "").strip() + if kw: + like = f"%{kw}%" + query = query.filter( + or_( + BizSampleReceptionCheckItem.item_code.like(like), + BizSampleReceptionCheckItem.item_name.like(like), + ) + ) if status: query = query.filter(BizSampleReceptionCheckItem.status == status) query = apply_data_scope(query, BizSampleReceptionCheckItem, user, db, tenant_no) diff --git a/backend/app/crud/material.py b/backend/app/crud/material.py index e66fd23d8..966ed6f0f 100644 --- a/backend/app/crud/material.py +++ b/backend/app/crud/material.py @@ -31,6 +31,7 @@ def _row_to_dict(r: BizMaterial) -> Dict[str, Any]: "specModel": r.spec_model or "", "unit": r.unit or "", "stockQty": _dec(r.stock_qty), + "warningQty": _dec(r.warning_qty), "status": r.status or "1", "imageUrls": r.image_urls or "", "orderNum": r.order_num if r.order_num is not None else 0, @@ -149,6 +150,7 @@ def create_material( spec_model=(data.get("specModel") or "").strip() or None, unit=(data.get("unit") or "").strip() or None, stock_qty=0, + warning_qty=Decimal(str(data.get("warningQty") or 0)), status=status, image_urls=(data.get("imageUrls") or "").strip() or None, tenant_no=tenant_no, @@ -205,6 +207,8 @@ def update_material( obj.spec_model = (data["specModel"] or "").strip() or None if "unit" in data: obj.unit = (data["unit"] or "").strip() or None + if "warningQty" in data and data["warningQty"] is not None: + obj.warning_qty = Decimal(str(data["warningQty"])) if "status" in data and data["status"] is not None: st = data["status"].strip() if st not in ("0", "1"): diff --git a/backend/app/crud/qc_material.py b/backend/app/crud/qc_material.py index 3093a64c3..a284fe40c 100644 --- a/backend/app/crud/qc_material.py +++ b/backend/app/crud/qc_material.py @@ -22,6 +22,27 @@ def _fmt_dt(t: Optional[datetime]) -> str: return t.strftime("%Y-%m-%d %H:%M:%S") if t else "" +def _norm_status(v: Any) -> str: + """统一状态为 '1'(启用)或 '0'(停用),避免 0 / '0' / or 判断歧义。""" + if v is None: + return "1" + if isinstance(v, bool): + return "1" if v else "0" + if isinstance(v, (int, float)): + if int(v) == 0: + return "0" + if int(v) == 1: + return "1" + s = str(v).strip() + if s in ("0", "1"): + return s + return "1" + + +def _is_enabled_status(v: Any) -> bool: + return _norm_status(v) == "1" + + def _row_to_dict(r: BizQcMaterial) -> Dict[str, Any]: return { "id": r.id, @@ -31,7 +52,7 @@ def _row_to_dict(r: BizQcMaterial) -> Dict[str, Any]: "unit": r.unit or "", "stockQty": _dec(r.stock_qty), "warningQty": _dec(r.warning_qty), - "status": r.status or "1", + "status": _norm_status(r.status), "orderNum": r.order_num if r.order_num is not None else 0, "remark": r.remark or "", "createTime": _fmt_dt(r.create_time), @@ -148,9 +169,7 @@ def create_material( name = (material_name or "").strip() if not name: raise ValueError("物料名称不能为空") - st = (status or "1").strip() - if st not in ("0", "1"): - raise ValueError("状态无效") + st = _norm_status(status) obj = BizQcMaterial( id=generate_uuid(), material_code=code, @@ -213,10 +232,7 @@ def update_material( if warning_qty is not None: obj.warning_qty = warning_qty if status is not None: - st = status.strip() - if st not in ("0", "1"): - raise ValueError("状态无效") - obj.status = st + obj.status = _norm_status(status) if order_num is not None: obj.order_num = order_num if remark is not None: @@ -241,6 +257,26 @@ def soft_delete_material(db: Session, row_id: str, tenant_no: Optional[str] = No db.commit() +def _build_manual_out_remark( + *, + receiver: Optional[str] = None, + purpose: Optional[str] = None, + remark: Optional[str] = None, + line_remark: Optional[str] = None, +) -> Optional[str]: + parts: List[str] = [] + r = (receiver or "").strip() + if r: + parts.append(f"领用人:{r}") + p = (purpose or "").strip() + if p: + parts.append(f"用途:{p}") + extra = (line_remark or remark or "").strip() + if extra: + parts.append(extra) + return ";".join(parts) if parts else None + + def stock_in( db: Session, row_id: str, @@ -249,6 +285,7 @@ def stock_in( remark: Optional[str] = None, user_id: Optional[str] = None, tenant_no: Optional[str] = None, + operate_time: Optional[datetime] = None, ) -> BizQcMaterial: if qty is None or float(qty) <= 0: raise ValueError("入库数量必须大于0") @@ -261,13 +298,17 @@ def stock_in( ) if not obj: raise ValueError("物料不存在") + if tenant_no and obj.tenant_no != tenant_no: + raise ValueError("物料不存在") + if not _is_enabled_status(obj.status): + raise ValueError(f"物料「{obj.material_name}」已停用,无法入库") + op_time = operate_time or datetime.now() old_stock = obj.stock_qty or 0 new_stock = old_stock + qty obj.stock_qty = new_stock obj.update_by = user_id obj.update_time = datetime.now() db.add(obj) - # 写入使用记录 usage = BizQcMaterialUsage( id=generate_uuid(), material_id=obj.id, @@ -281,9 +322,9 @@ def stock_in( remark=(remark or "").strip() or None, create_by=user_id, create_dept_id=obj.create_dept_id or "", - create_time=datetime.now(), + create_time=op_time, update_by=user_id, - update_time=datetime.now(), + update_time=op_time, del_flag=0, ) db.add(usage) @@ -292,6 +333,239 @@ def stock_in( return obj +def batch_stock_in( + db: Session, + *, + items: List[Dict[str, Any]], + remark: Optional[str] = None, + tenant_no: str, + user_id: Optional[str] = None, + operate_time: Optional[datetime] = None, +) -> int: + """批量入库,同一事务;任一条失败则全部回滚。""" + if not items: + raise ValueError("请至少选择一条物料") + op_time = operate_time or datetime.now() + shared_remark = (remark or "").strip() or None + + try: + for it in items: + material_id = (it.get("material_id") or it.get("materialId") or "").strip() + qty = it.get("qty") + if not material_id: + raise ValueError("物料ID不能为空") + if qty is None or float(qty) <= 0: + raise ValueError("入库数量必须大于0") + qty_dec = Decimal(str(qty)) + line_remark = (it.get("remark") or "").strip() + log_remark = line_remark or shared_remark or None + + obj = ( + db.query(BizQcMaterial) + .filter( + BizQcMaterial.id == material_id, + BizQcMaterial.tenant_no == tenant_no, + BizQcMaterial.del_flag == 0, + ) + .with_for_update() + .first() + ) + if not obj: + raise ValueError("物料不存在") + if not _is_enabled_status(obj.status): + raise ValueError(f"物料「{obj.material_name}」已停用,无法入库") + + old_stock = obj.stock_qty or 0 + new_stock = old_stock + qty_dec + obj.stock_qty = new_stock + obj.update_by = user_id + obj.update_time = datetime.now() + db.add(obj) + + usage = BizQcMaterialUsage( + id=generate_uuid(), + material_id=obj.id, + material_code=obj.material_code, + material_name=obj.material_name, + change_type="in", + change_qty=qty_dec, + stock_after=new_stock, + source_type="manual_in", + tenant_no=obj.tenant_no, + remark=log_remark, + create_by=user_id, + create_dept_id=obj.create_dept_id or "", + create_time=op_time, + update_by=user_id, + update_time=op_time, + del_flag=0, + ) + db.add(usage) + db.commit() + return len(items) + except Exception: + db.rollback() + raise + + +def stock_out( + db: Session, + row_id: str, + *, + qty: Decimal, + receiver: Optional[str] = None, + purpose: Optional[str] = None, + remark: Optional[str] = None, + user_id: Optional[str] = None, + tenant_no: Optional[str] = None, + operate_time: Optional[datetime] = None, +) -> BizQcMaterial: + if qty is None or float(qty) <= 0: + raise ValueError("出库数量必须大于0") + qty_dec = Decimal(str(qty)) + if not (receiver or "").strip(): + raise ValueError("请选择领用人") + + obj = ( + db.query(BizQcMaterial) + .filter(BizQcMaterial.id == row_id, BizQcMaterial.del_flag == 0) + .with_for_update() + .first() + ) + if not obj: + raise ValueError("物料不存在") + if tenant_no and obj.tenant_no != tenant_no: + raise ValueError("物料不存在") + if not _is_enabled_status(obj.status): + raise ValueError(f"物料「{obj.material_name}」已停用,无法出库") + + stock_before = obj.stock_qty if obj.stock_qty is not None else Decimal("0") + if stock_before < qty_dec: + raise ValueError( + f"物料「{obj.material_name}」库存不足,当前库存 {stock_before},需出库 {qty_dec}" + ) + + op_time = operate_time or datetime.now() + new_stock = stock_before - qty_dec + obj.stock_qty = new_stock + obj.update_by = user_id + obj.update_time = datetime.now() + db.add(obj) + + usage = BizQcMaterialUsage( + id=generate_uuid(), + material_id=obj.id, + material_code=obj.material_code, + material_name=obj.material_name, + change_type="use", + change_qty=-qty_dec, + stock_after=new_stock, + source_type="manual_out", + tenant_no=obj.tenant_no, + receiver=(receiver or "").strip() or None, + purpose=(purpose or "").strip() or None, + remark=(remark or "").strip() or None, + create_by=user_id, + create_dept_id=obj.create_dept_id or "", + create_time=op_time, + update_by=user_id, + update_time=op_time, + del_flag=0, + ) + db.add(usage) + db.commit() + db.refresh(obj) + return obj + + +def batch_stock_out( + db: Session, + *, + items: List[Dict[str, Any]], + receiver: Optional[str] = None, + purpose: Optional[str] = None, + remark: Optional[str] = None, + tenant_no: str, + user_id: Optional[str] = None, + operate_time: Optional[datetime] = None, +) -> int: + """批量出库,同一事务;任一条失败则全部回滚。""" + if not items: + raise ValueError("请至少选择一条物料") + if not (receiver or "").strip(): + raise ValueError("请选择领用人") + + op_time = operate_time or datetime.now() + recv = (receiver or "").strip() or None + purp = (purpose or "").strip() or None + shared_remark = (remark or "").strip() or None + + try: + for it in items: + material_id = (it.get("material_id") or it.get("materialId") or "").strip() + qty = it.get("qty") + if not material_id: + raise ValueError("物料ID不能为空") + if qty is None or float(qty) <= 0: + raise ValueError("出库数量必须大于0") + qty_dec = Decimal(str(qty)) + line_remark = (it.get("remark") or "").strip() or shared_remark + + obj = ( + db.query(BizQcMaterial) + .filter( + BizQcMaterial.id == material_id, + BizQcMaterial.tenant_no == tenant_no, + BizQcMaterial.del_flag == 0, + ) + .with_for_update() + .first() + ) + if not obj: + raise ValueError("物料不存在") + if not _is_enabled_status(obj.status): + raise ValueError(f"物料「{obj.material_name}」已停用,无法出库") + + stock_before = obj.stock_qty if obj.stock_qty is not None else Decimal("0") + if stock_before < qty_dec: + raise ValueError( + f"物料「{obj.material_name}」库存不足,当前库存 {stock_before},需出库 {qty_dec}" + ) + + new_stock = stock_before - qty_dec + obj.stock_qty = new_stock + obj.update_by = user_id + obj.update_time = datetime.now() + db.add(obj) + + usage = BizQcMaterialUsage( + id=generate_uuid(), + material_id=obj.id, + material_code=obj.material_code, + material_name=obj.material_name, + change_type="use", + change_qty=-qty_dec, + stock_after=new_stock, + source_type="manual_out", + tenant_no=obj.tenant_no, + receiver=recv, + purpose=purp, + remark=line_remark, + create_by=user_id, + create_dept_id=obj.create_dept_id or "", + create_time=op_time, + update_by=user_id, + update_time=op_time, + del_flag=0, + ) + db.add(usage) + db.commit() + return len(items) + except Exception: + db.rollback() + raise + + def options_list(db: Session, tenant_no: str) -> List[Dict[str, Any]]: rows = ( db.query(BizQcMaterial) diff --git a/backend/app/crud/qc_material_usage.py b/backend/app/crud/qc_material_usage.py index e8968766d..b612b26e9 100644 --- a/backend/app/crud/qc_material_usage.py +++ b/backend/app/crud/qc_material_usage.py @@ -11,9 +11,60 @@ from sqlalchemy.orm import Session from app.core.utils import generate_uuid from app.models.qc_material import BizQcMaterial, BizQcMaterialUsage +from app.models.models import SysUser -def _row_to_dict(r: BizQcMaterialUsage) -> Dict[str, Any]: +def _parse_receiver_purpose_from_remark(remark: Optional[str]) -> Tuple[str, str]: + """兼容旧数据:领用人/用途曾拼接在 remark 中。""" + receiver, purpose = "", "" + for part in (remark or "").split(";"): + seg = part.strip() + if seg.startswith("领用人:"): + receiver = seg[len("领用人:") :].strip() + elif seg.startswith("用途:"): + purpose = seg[len("用途:") :].strip() + return receiver, purpose + + +def _resolve_receiver_purpose(r: BizQcMaterialUsage) -> Tuple[str, str]: + receiver = (getattr(r, "receiver", None) or "").strip() + purpose = (getattr(r, "purpose", None) or "").strip() + if receiver or purpose: + return receiver, purpose + if (r.source_type or "") == "manual_out": + return _parse_receiver_purpose_from_remark(r.remark) + return "", "" + + +def _display_remark(r: BizQcMaterialUsage) -> str: + """手动出库时备注仅展示用户填写内容,不含领用人/用途拼接段。""" + remark = (r.remark or "").strip() + if (r.source_type or "") != "manual_out" or not remark: + return remark + parts: List[str] = [] + for part in remark.split(";"): + seg = part.strip() + if not seg or seg.startswith("领用人:") or seg.startswith("用途:"): + continue + if seg.startswith("备注"): + seg = seg[2:].strip() or seg + parts.append(seg) + return ";".join(parts) if parts else "" + + +def _user_nick_name_map(db: Session, user_ids: List[str]) -> Dict[str, str]: + ids = list({x for x in user_ids if x}) + if not ids: + return {} + rows = db.query(SysUser.id, SysUser.nick_name).filter(SysUser.id.in_(ids)).all() + return {u.id: (u.nick_name or "").strip() for u in rows} + + +def _row_to_dict(r: BizQcMaterialUsage, *, create_by_name: str = "") -> Dict[str, Any]: + create_by = r.create_by or "" + receiver, purpose = _resolve_receiver_purpose(r) + create_time = r.create_time.strftime("%Y-%m-%d %H:%M:%S") if r.create_time else "" + is_manual_out = (r.source_type or "") == "manual_out" return { "id": r.id, "materialId": r.material_id, @@ -24,10 +75,14 @@ def _row_to_dict(r: BizQcMaterialUsage) -> Dict[str, Any]: "stockAfter": float(r.stock_after) if r.stock_after is not None else 0, "qcTaskId": r.qc_task_id or "", "qcTaskNo": r.qc_task_no or "", - "sourceType": r.source_type, - "remark": r.remark or "", - "createBy": r.create_by or "", - "createTime": r.create_time.strftime("%Y-%m-%d %H:%M:%S") if r.create_time else "", + "receiver": receiver, + "purpose": purpose, + "sourceType": r.source_type or "", + "useTime": create_time if is_manual_out else "", + "remark": _display_remark(r), + "createBy": create_by, + "createByName": create_by_name or create_by, + "createTime": create_time, "updateTime": r.update_time.strftime("%Y-%m-%d %H:%M:%S") if r.update_time else "", } @@ -51,8 +106,19 @@ def list_usages( ) if material_id: q0 = q0.filter(BizQcMaterialUsage.material_id == material_id) - if change_type: - q0 = q0.filter(BizQcMaterialUsage.change_type == change_type) + ct = (change_type or "").strip() + if ct == "out": + q0 = q0.filter( + BizQcMaterialUsage.change_type == "use", + BizQcMaterialUsage.source_type == "manual_out", + ) + elif ct == "use": + q0 = q0.filter( + BizQcMaterialUsage.change_type == "use", + BizQcMaterialUsage.source_type == "task_complete", + ) + elif ct == "in": + q0 = q0.filter(BizQcMaterialUsage.change_type == "in") if start_time: q0 = q0.filter(BizQcMaterialUsage.create_time >= start_time) if end_time: @@ -72,7 +138,11 @@ def list_usages( .limit(page_size) .all() ) - return [_row_to_dict(x) for x in rows], int(total) + name_map = _user_nick_name_map(db, [x.create_by for x in rows if x.create_by]) + return [ + _row_to_dict(x, create_by_name=name_map.get(x.create_by or "", "")) + for x in rows + ], int(total) def deduct_for_task( diff --git a/backend/app/graphify-out/cache/ast/4033431206fbe66a88eaabec9ff5eb06cf48285f697c58cbd086c224b044b7e9.json b/backend/app/graphify-out/cache/ast/4033431206fbe66a88eaabec9ff5eb06cf48285f697c58cbd086c224b044b7e9.json new file mode 100644 index 000000000..bd5fbaacb --- /dev/null +++ b/backend/app/graphify-out/cache/ast/4033431206fbe66a88eaabec9ff5eb06cf48285f697c58cbd086c224b044b7e9.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_models_material_py", "label": "material.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L1"}, {"id": "models_material_bizmaterial", "label": "BizMaterial", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L8"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "models_material_bizmaterialstocklog", "label": "BizMaterialStockLog", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L32"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_models_material_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_material_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_material_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_material_py", "target": "models_material_bizmaterial", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L8", "weight": 1.0}, {"source": "models_material_bizmaterial", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_models_material_py", "target": "models_material_bizmaterialstocklog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L32", "weight": 1.0}, {"source": "models_material_bizmaterialstocklog", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/models/material.py", "source_location": "L32", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/53c28b70da7ff9544e79bb47f1acd2781cb4384e0062a5259fa3b7a14635d14a.json b/backend/app/graphify-out/cache/ast/53c28b70da7ff9544e79bb47f1acd2781cb4384e0062a5259fa3b7a14635d14a.json new file mode 100644 index 000000000..4a996bf32 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/53c28b70da7ff9544e79bb47f1acd2781cb4384e0062a5259fa3b7a14635d14a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "label": "material.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L1"}, {"id": "api_material_materialbody", "label": "MaterialBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L23"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_material_materialupdatebody", "label": "MaterialUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L37"}, {"id": "api_material_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L51"}, {"id": "api_material_stockoutbody", "label": "StockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L58"}, {"id": "api_material_batchstockinitem", "label": "BatchStockInItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L67"}, {"id": "api_material_batchstockinbody", "label": "BatchStockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L74"}, {"id": "api_material_batchstockoutitem", "label": "BatchStockOutItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L81"}, {"id": "api_material_batchstockoutbody", "label": "BatchStockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L88"}, {"id": "api_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L101"}, {"id": "api_material_material_options", "label": "material_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L124"}, {"id": "api_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L136"}, {"id": "api_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L156"}, {"id": "api_material_delete_material", "label": "delete_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L177"}, {"id": "api_material_batch_stock_in_material", "label": "batch_stock_in_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L194"}, {"id": "api_material_batch_stock_out_material", "label": "batch_stock_out_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L228"}, {"id": "api_material_stock_in_material", "label": "stock_in_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L264"}, {"id": "api_material_stock_out_material", "label": "stock_out_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L291"}, {"id": "api_material_list_stock_logs", "label": "list_stock_logs()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L322"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_api_sample_reception", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_materialbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L23", "weight": 1.0}, {"source": "api_material_materialbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_materialupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L37", "weight": 1.0}, {"source": "api_material_materialupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stockinbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L51", "weight": 1.0}, {"source": "api_material_stockinbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stockoutbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L58", "weight": 1.0}, {"source": "api_material_stockoutbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L58", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockinitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L67", "weight": 1.0}, {"source": "api_material_batchstockinitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L67", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockinbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L74", "weight": 1.0}, {"source": "api_material_batchstockinbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L74", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockoutitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L81", "weight": 1.0}, {"source": "api_material_batchstockoutitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L81", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockoutbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L88", "weight": 1.0}, {"source": "api_material_batchstockoutbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L88", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_list_materials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_material_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_create_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L136", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_update_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_delete_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L177", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batch_stock_in_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L194", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batch_stock_out_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L228", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stock_in_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L264", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stock_out_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L291", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_list_stock_logs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L322", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_material_list_materials", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L111"}, {"caller_nid": "api_material_list_materials", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L116"}, {"caller_nid": "api_material_list_materials", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L116"}, {"caller_nid": "api_material_list_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L118"}, {"caller_nid": "api_material_list_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L118"}, {"caller_nid": "api_material_list_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L120"}, {"caller_nid": "api_material_list_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L120"}, {"caller_nid": "api_material_material_options", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L129"}, {"caller_nid": "api_material_material_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L130"}, {"caller_nid": "api_material_material_options", "callee": "options_list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L130"}, {"caller_nid": "api_material_material_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L132"}, {"caller_nid": "api_material_material_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L132"}, {"caller_nid": "api_material_create_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L142"}, {"caller_nid": "api_material_create_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L143"}, {"caller_nid": "api_material_create_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L145"}, {"caller_nid": "api_material_create_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L148"}, {"caller_nid": "api_material_create_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L150"}, {"caller_nid": "api_material_create_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L150"}, {"caller_nid": "api_material_create_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L152"}, {"caller_nid": "api_material_create_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L152"}, {"caller_nid": "api_material_update_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L163"}, {"caller_nid": "api_material_update_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L164"}, {"caller_nid": "api_material_update_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L166"}, {"caller_nid": "api_material_update_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L169"}, {"caller_nid": "api_material_update_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L171"}, {"caller_nid": "api_material_update_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L171"}, {"caller_nid": "api_material_update_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L173"}, {"caller_nid": "api_material_update_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L173"}, {"caller_nid": "api_material_delete_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L183"}, {"caller_nid": "api_material_delete_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L184"}, {"caller_nid": "api_material_delete_material", "callee": "soft_delete_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L185"}, {"caller_nid": "api_material_delete_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L186"}, {"caller_nid": "api_material_delete_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L188"}, {"caller_nid": "api_material_delete_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L188"}, {"caller_nid": "api_material_delete_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L190"}, {"caller_nid": "api_material_delete_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L190"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L200"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L201"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L202"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L204"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L206"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "batch_stock_in", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L212"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L220"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L222"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L222"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L224"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L224"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L234"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L235"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L236"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L238"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L240"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "batch_stock_out", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L246"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L256"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L258"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L258"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L260"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L260"}, {"caller_nid": "api_material_stock_in_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L271"}, {"caller_nid": "api_material_stock_in_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L272"}, {"caller_nid": "api_material_stock_in_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L273"}, {"caller_nid": "api_material_stock_in_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L275"}, {"caller_nid": "api_material_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L277"}, {"caller_nid": "api_material_stock_in_material", "callee": "stock_in", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L279"}, {"caller_nid": "api_material_stock_in_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L283"}, {"caller_nid": "api_material_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L285"}, {"caller_nid": "api_material_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L285"}, {"caller_nid": "api_material_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L287"}, {"caller_nid": "api_material_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L287"}, {"caller_nid": "api_material_stock_out_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L298"}, {"caller_nid": "api_material_stock_out_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L299"}, {"caller_nid": "api_material_stock_out_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L300"}, {"caller_nid": "api_material_stock_out_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L302"}, {"caller_nid": "api_material_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L304"}, {"caller_nid": "api_material_stock_out_material", "callee": "stock_out", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L306"}, {"caller_nid": "api_material_stock_out_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L311"}, {"caller_nid": "api_material_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L313"}, {"caller_nid": "api_material_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L313"}, {"caller_nid": "api_material_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L315"}, {"caller_nid": "api_material_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L315"}, {"caller_nid": "api_material_list_stock_logs", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L334"}, {"caller_nid": "api_material_list_stock_logs", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L340"}, {"caller_nid": "api_material_list_stock_logs", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L340"}, {"caller_nid": "api_material_list_stock_logs", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L342"}, {"caller_nid": "api_material_list_stock_logs", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L342"}, {"caller_nid": "api_material_list_stock_logs", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L344"}, {"caller_nid": "api_material_list_stock_logs", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L344"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/8275316e2e6333d97dbde43fc1cc44a16373c00d4bb629b464086aa71d9f5ee7.json b/backend/app/graphify-out/cache/ast/8275316e2e6333d97dbde43fc1cc44a16373c00d4bb629b464086aa71d9f5ee7.json new file mode 100644 index 000000000..bb2d5d993 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/8275316e2e6333d97dbde43fc1cc44a16373c00d4bb629b464086aa71d9f5ee7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "label": "qc_material.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L1"}, {"id": "crud_qc_material_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L15"}, {"id": "crud_qc_material_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L21"}, {"id": "crud_qc_material_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L25"}, {"id": "crud_qc_material_code_exists", "label": "code_exists()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L42"}, {"id": "crud_qc_material_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L58"}, {"id": "crud_qc_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L72"}, {"id": "crud_qc_material_get_material", "label": "get_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L116"}, {"id": "crud_qc_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L127"}, {"id": "crud_qc_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L179"}, {"id": "crud_qc_material_soft_delete_material", "label": "soft_delete_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L232"}, {"id": "crud_qc_material_build_manual_out_remark", "label": "_build_manual_out_remark()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L244"}, {"id": "crud_qc_material_stock_in", "label": "stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L264"}, {"id": "crud_qc_material_batch_stock_in", "label": "batch_stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L320"}, {"id": "crud_qc_material_stock_out", "label": "stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L395"}, {"id": "crud_qc_material_batch_stock_out", "label": "batch_stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L463"}, {"id": "crud_qc_material_options_list", "label": "options_list()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L553"}, {"id": "crud_qc_material_rationale_329", "label": "\u6279\u91cf\u5165\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L329"}, {"id": "crud_qc_material_rationale_474", "label": "\u6279\u91cf\u51fa\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L474"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_code_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L42", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L58", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_list_materials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L72", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_get_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L116", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_create_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L127", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_update_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L179", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_soft_delete_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L232", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_build_manual_out_remark", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L244", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L264", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_batch_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L320", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L395", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_batch_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L463", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_qc_material_py", "target": "crud_qc_material_options_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L553", "weight": 1.0}, {"source": "crud_qc_material_row_to_dict", "target": "crud_qc_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L32", "weight": 1.0}, {"source": "crud_qc_material_row_to_dict", "target": "crud_qc_material_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L37", "weight": 1.0}, {"source": "crud_qc_material_list_materials", "target": "crud_qc_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L113", "weight": 1.0}, {"source": "crud_qc_material_create_material", "target": "crud_qc_material_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L146", "weight": 1.0}, {"source": "crud_qc_material_update_material", "target": "crud_qc_material_get_material", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L194", "weight": 1.0}, {"source": "crud_qc_material_update_material", "target": "crud_qc_material_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L201", "weight": 1.0}, {"source": "crud_qc_material_soft_delete_material", "target": "crud_qc_material_get_material", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L233", "weight": 1.0}, {"source": "crud_qc_material_soft_delete_material", "target": "crud_qc_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L236", "weight": 1.0}, {"source": "crud_qc_material_stock_out", "target": "crud_qc_material_build_manual_out_remark", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L449", "weight": 1.0}, {"source": "crud_qc_material_batch_stock_out", "target": "crud_qc_material_build_manual_out_remark", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L481", "weight": 1.0}, {"source": "crud_qc_material_options_list", "target": "crud_qc_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L572", "weight": 1.0}, {"source": "crud_qc_material_rationale_329", "target": "crud_qc_material_batch_stock_in", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L329", "weight": 1.0}, {"source": "crud_qc_material_rationale_474", "target": "crud_qc_material_batch_stock_out", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L474", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_qc_material_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L18"}, {"caller_nid": "crud_qc_material_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L22"}, {"caller_nid": "crud_qc_material_code_exists", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L45"}, {"caller_nid": "crud_qc_material_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L48"}, {"caller_nid": "crud_qc_material_code_exists", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L48"}, {"caller_nid": "crud_qc_material_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L54"}, {"caller_nid": "crud_qc_material_code_exists", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L55"}, {"caller_nid": "crud_qc_material_total_pages", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L60"}, {"caller_nid": "crud_qc_material_total_pages", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L60"}, {"caller_nid": "crud_qc_material_total_pages", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L60"}, {"caller_nid": "crud_qc_material_total_pages", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L60"}, {"caller_nid": "crud_qc_material_total_pages", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L68"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L103"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L103"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L103"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L103"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L103"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L104"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L105"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L105"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L107"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L107"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L107"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L107"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L107"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L108"}, {"caller_nid": "crud_qc_material_list_materials", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L113"}, {"caller_nid": "crud_qc_material_get_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L119"}, {"caller_nid": "crud_qc_material_get_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L119"}, {"caller_nid": "crud_qc_material_get_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L123"}, {"caller_nid": "crud_qc_material_get_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L124"}, {"caller_nid": "crud_qc_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L143"}, {"caller_nid": "crud_qc_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L145"}, {"caller_nid": "crud_qc_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L147"}, {"caller_nid": "crud_qc_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L148"}, {"caller_nid": "crud_qc_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L150"}, {"caller_nid": "crud_qc_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L151"}, {"caller_nid": "crud_qc_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L153"}, {"caller_nid": "crud_qc_material_create_material", "callee": "BizQcMaterial", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L154"}, {"caller_nid": "crud_qc_material_create_material", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L155"}, {"caller_nid": "crud_qc_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L158"}, {"caller_nid": "crud_qc_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L159"}, {"caller_nid": "crud_qc_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L165"}, {"caller_nid": "crud_qc_material_create_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L168"}, {"caller_nid": "crud_qc_material_create_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L170"}, {"caller_nid": "crud_qc_material_create_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L173"}, {"caller_nid": "crud_qc_material_create_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L174"}, {"caller_nid": "crud_qc_material_create_material", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L175"}, {"caller_nid": "crud_qc_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L196"}, {"caller_nid": "crud_qc_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L198"}, {"caller_nid": "crud_qc_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L200"}, {"caller_nid": "crud_qc_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L202"}, {"caller_nid": "crud_qc_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L205"}, {"caller_nid": "crud_qc_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L207"}, {"caller_nid": "crud_qc_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L210"}, {"caller_nid": "crud_qc_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L212"}, {"caller_nid": "crud_qc_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L216"}, {"caller_nid": "crud_qc_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L218"}, {"caller_nid": "crud_qc_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L223"}, {"caller_nid": "crud_qc_material_update_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L225"}, {"caller_nid": "crud_qc_material_update_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L226"}, {"caller_nid": "crud_qc_material_update_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L227"}, {"caller_nid": "crud_qc_material_update_material", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L228"}, {"caller_nid": "crud_qc_material_soft_delete_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L235"}, {"caller_nid": "crud_qc_material_soft_delete_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L237"}, {"caller_nid": "crud_qc_material_soft_delete_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L239"}, {"caller_nid": "crud_qc_material_soft_delete_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L240"}, {"caller_nid": "crud_qc_material_soft_delete_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L241"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L252"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L254"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L255"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L257"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L258"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L260"}, {"caller_nid": "crud_qc_material_build_manual_out_remark", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L261"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L274"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L275"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L278"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L278"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L278"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L278"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L284"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L286"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L288"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L289"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L294"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L295"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "BizQcMaterialUsage", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L296"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L297"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L306"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L314"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L315"}, {"caller_nid": "crud_qc_material_stock_in", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L316"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L331"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L332"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L333"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L337"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L337"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L337"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L338"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L340"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L341"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L342"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L343"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L343"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L344"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L344"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L348"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L348"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L348"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L348"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L358"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L360"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L366"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L367"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "BizQcMaterialUsage", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L369"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L370"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L387"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L388"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L389"}, {"caller_nid": "crud_qc_material_batch_stock_in", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L391"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L407"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L408"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L409"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L409"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L410"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L411"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L414"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L414"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L414"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L414"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L420"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L422"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L424"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L426"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L428"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L432"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L436"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L437"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "BizQcMaterialUsage", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L439"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L440"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L457"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L458"}, {"caller_nid": "crud_qc_material_stock_out", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L459"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L476"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L477"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L478"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L480"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L485"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L485"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L485"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L486"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L488"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L489"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L490"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L491"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L491"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L492"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L492"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L501"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L501"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L501"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L501"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L511"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L513"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L515"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L517"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L524"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L525"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "BizQcMaterialUsage", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L527"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L528"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L545"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L546"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L547"}, {"caller_nid": "crud_qc_material_batch_stock_out", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L549"}, {"caller_nid": "crud_qc_material_options_list", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L555"}, {"caller_nid": "crud_qc_material_options_list", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L555"}, {"caller_nid": "crud_qc_material_options_list", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L555"}, {"caller_nid": "crud_qc_material_options_list", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L555"}, {"caller_nid": "crud_qc_material_options_list", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/qc_material.py", "source_location": "L561"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/8c2ceafda7f7adec8d84f8f4e4b8cd7abb8f9a4b1b8c307a19f91c46cbecbbc2.json b/backend/app/graphify-out/cache/ast/8c2ceafda7f7adec8d84f8f4e4b8cd7abb8f9a4b1b8c307a19f91c46cbecbbc2.json new file mode 100644 index 000000000..095acbbe4 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/8c2ceafda7f7adec8d84f8f4e4b8cd7abb8f9a4b1b8c307a19f91c46cbecbbc2.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": "L32"}, {"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": "L49"}, {"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": "L67"}, {"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": "L89"}, {"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": "L103"}, {"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": "L137"}, {"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": "L173"}, {"id": "api_qc_thirdpartyitembody", "label": "ThirdPartyItemBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L193"}, {"id": "api_qc_thirdpartyitemupdatebody", "label": "ThirdPartyItemUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L205"}, {"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": "L218"}, {"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": "L247"}, {"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": "L262"}, {"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": "L291"}, {"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": "L322"}, {"id": "api_qc_labtestitembody", "label": "LabTestItemBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L342"}, {"id": "api_qc_labtestitemupdatebody", "label": "LabTestItemUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L353"}, {"id": "api_qc_itemparambody", "label": "ItemParamBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L367"}, {"id": "api_qc_taskresultbody", "label": "TaskResultBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L372"}, {"id": "api_qc_taskcompletewithresultbody", "label": "TaskCompleteWithResultBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L377"}, {"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": "L387"}, {"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": "L409"}, {"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": "L423"}, {"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": "L451"}, {"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": "L481"}, {"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": "L502"}, {"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": "L518"}, {"id": "api_qc_workorderconfigurebody", "label": "WorkOrderConfigureBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L540"}, {"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": "L550"}, {"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": "L577"}, {"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": "L595"}, {"id": "api_qc_taskattachmentsbody", "label": "TaskAttachmentsBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L625"}, {"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": "L632"}, {"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": "L665"}, {"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": "L683"}, {"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": "L701"}, {"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": "L721"}, {"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": "L736"}, {"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": "L792"}, {"id": "api_qc_qcmaterialbody", "label": "QcMaterialBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L819"}, {"id": "api_qc_qcmaterialupdatebody", "label": "QcMaterialUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L830"}, {"id": "api_qc_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L841"}, {"id": "api_qc_stockoutbody", "label": "StockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L848"}, {"id": "api_qc_batchstockinitem", "label": "BatchStockInItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L857"}, {"id": "api_qc_batchstockinbody", "label": "BatchStockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L864"}, {"id": "api_qc_batchstockoutitem", "label": "BatchStockOutItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L871"}, {"id": "api_qc_batchstockoutbody", "label": "BatchStockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L878"}, {"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": "L888"}, {"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": "L910"}, {"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": "L922"}, {"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": "L939"}, {"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": "L957"}, {"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": "L974"}, {"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": "L1008"}, {"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": "L1044"}, {"id": "api_qc_stock_out_qc_material", "label": "stock_out_qc_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1078"}, {"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": "L1117"}, {"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"}], "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": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L10", "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": "L11", "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": "L12", "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": "L13", "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": "L14", "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": "L15", "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": "L16", "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": "L17", "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": "L18", "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": "L19", "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": "L20", "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": "L21", "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": "L22", "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": "L23", "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": "L24", "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": "L32", "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": "L32", "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": "L49", "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": "L49", "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": "L67", "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": "L89", "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": "L103", "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": "L137", "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": "L173", "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": "L193", "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": "L193", "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": "L205", "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": "L205", "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": "L218", "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": "L247", "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": "L262", "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": "L291", "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": "L322", "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": "L342", "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": "L342", "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": "L353", "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": "L353", "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": "L367", "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": "L367", "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": "L372", "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": "L372", "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": "L377", "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": "L377", "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": "L387", "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": "L409", "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": "L423", "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": "L451", "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": "L481", "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": "L502", "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": "L518", "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": "L540", "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": "L540", "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": "L550", "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": "L577", "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": "L595", "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": "L625", "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": "L625", "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": "L632", "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": "L665", "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": "L683", "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": "L701", "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": "L721", "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": "L736", "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": "L792", "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": "L819", "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": "L819", "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": "L830", "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": "L830", "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": "L841", "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": "L841", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stockoutbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L848", "weight": 1.0}, {"source": "api_qc_stockoutbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L848", "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": "L857", "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": "L857", "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": "L864", "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": "L864", "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": "L871", "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": "L871", "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": "L878", "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": "L878", "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": "L888", "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": "L910", "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": "L922", "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": "L939", "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": "L957", "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": "L974", "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": "L1008", "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": "L1044", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_qc_py", "target": "api_qc_stock_out_qc_material", "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_list_qc_material_usages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1117", "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}], "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": "L76"}, {"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": "L77"}, {"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": "L81"}, {"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": "L81"}, {"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": "L83"}, {"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": "L83"}, {"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": "L85"}, {"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": "L85"}, {"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": "L94"}, {"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": "L95"}, {"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": "L95"}, {"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": "L97"}, {"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": "L97"}, {"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": "L99"}, {"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": "L99"}, {"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": "L109"}, {"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": "L110"}, {"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": "L125"}, {"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": "L127"}, {"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": "L127"}, {"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": "L129"}, {"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": "L129"}, {"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": "L131"}, {"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": "L131"}, {"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": "L133"}, {"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": "L133"}, {"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": "L144"}, {"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": "L145"}, {"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": "L160"}, {"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": "L163"}, {"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": "L163"}, {"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": "L165"}, {"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": "L165"}, {"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": "L167"}, {"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": "L167"}, {"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": "L169"}, {"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": "L169"}, {"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": "L179"}, {"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": "L180"}, {"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": "L181"}, {"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": "L183"}, {"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": "L183"}, {"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": "L185"}, {"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": "L185"}, {"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": "L187"}, {"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": "L187"}, {"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": "L228"}, {"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": "L229"}, {"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": "L239"}, {"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": "L239"}, {"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": "L241"}, {"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": "L241"}, {"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": "L243"}, {"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": "L243"}, {"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": "L253"}, {"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": "L254"}, {"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": "L254"}, {"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": "L256"}, {"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": "L256"}, {"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": "L258"}, {"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": "L258"}, {"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": "L268"}, {"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": "L269"}, {"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": "L279"}, {"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": "L281"}, {"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": "L281"}, {"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": "L283"}, {"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": "L283"}, {"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": "L285"}, {"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": "L285"}, {"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": "L287"}, {"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": "L287"}, {"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": "L298"}, {"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": "L299"}, {"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": "L309"}, {"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": "L312"}, {"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": "L312"}, {"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": "L314"}, {"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": "L314"}, {"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": "L316"}, {"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": "L316"}, {"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": "L318"}, {"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": "L318"}, {"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": "L328"}, {"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": "L329"}, {"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": "L330"}, {"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": "L332"}, {"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": "L332"}, {"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": "L334"}, {"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": "L334"}, {"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": "L336"}, {"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": "L336"}, {"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": "L396"}, {"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": "L397"}, {"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": "L401"}, {"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": "L401"}, {"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": "L403"}, {"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": "L403"}, {"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": "L405"}, {"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": "L405"}, {"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": "L414"}, {"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": "L415"}, {"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": "L415"}, {"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": "L417"}, {"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": "L417"}, {"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": "L419"}, {"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": "L419"}, {"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": "L429"}, {"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": "L430"}, {"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": "L439"}, {"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": "L441"}, {"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": "L441"}, {"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": "L443"}, {"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": "L443"}, {"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": "L445"}, {"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": "L445"}, {"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": "L447"}, {"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": "L447"}, {"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": "L458"}, {"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": "L459"}, {"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": "L468"}, {"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": "L471"}, {"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": "L471"}, {"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": "L473"}, {"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": "L473"}, {"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": "L475"}, {"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": "L475"}, {"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": "L477"}, {"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": "L477"}, {"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": "L487"}, {"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": "L488"}, {"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": "L489"}, {"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": "L491"}, {"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": "L491"}, {"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": "L493"}, {"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": "L493"}, {"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": "L495"}, {"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": "L495"}, {"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": "L509"}, {"caller_nid": "api_qc_list_item_params", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L510"}, {"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": "L510"}, {"caller_nid": "api_qc_list_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L512"}, {"caller_nid": "api_qc_list_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L512"}, {"caller_nid": "api_qc_list_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L514"}, {"caller_nid": "api_qc_list_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L514"}, {"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": "L526"}, {"caller_nid": "api_qc_save_item_params", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L527"}, {"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": "L528"}, {"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": "L528"}, {"caller_nid": "api_qc_save_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L532"}, {"caller_nid": "api_qc_save_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L532"}, {"caller_nid": "api_qc_save_item_params", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L534"}, {"caller_nid": "api_qc_save_item_params", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L534"}, {"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": "L559"}, {"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": "L560"}, {"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": "L569"}, {"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": "L569"}, {"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": "L571"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L571"}, {"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": "L573"}, {"caller_nid": "api_qc_list_qc_work_orders", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L573"}, {"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": "L583"}, {"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": "L584"}, {"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": "L585"}, {"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": "L587"}, {"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": "L587"}, {"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": "L589"}, {"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": "L589"}, {"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": "L591"}, {"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": "L591"}, {"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": "L602"}, {"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": "L603"}, {"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": "L611"}, {"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": "L613"}, {"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": "L613"}, {"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": "L615"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L615"}, {"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": "L617"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L617"}, {"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": "L619"}, {"caller_nid": "api_qc_configure_qc_work_order", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L619"}, {"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": "L644"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "list_tasks", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L645"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L657"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L657"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L659"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L659"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L661"}, {"caller_nid": "api_qc_list_qc_tasks", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L661"}, {"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": "L671"}, {"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": "L672"}, {"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": "L673"}, {"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": "L675"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L675"}, {"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": "L677"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L677"}, {"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": "L679"}, {"caller_nid": "api_qc_get_qc_task_detail", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L679"}, {"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": "L689"}, {"caller_nid": "api_qc_start_qc_task", "callee": "start_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L690"}, {"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": "L690"}, {"caller_nid": "api_qc_start_qc_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L691"}, {"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": "L691"}, {"caller_nid": "api_qc_start_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L693"}, {"caller_nid": "api_qc_start_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L693"}, {"caller_nid": "api_qc_start_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L695"}, {"caller_nid": "api_qc_start_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L695"}, {"caller_nid": "api_qc_start_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L697"}, {"caller_nid": "api_qc_start_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L697"}, {"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": "L707"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "complete_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L708"}, {"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": "L709"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L711"}, {"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": "L711"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L713"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L713"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L715"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L715"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L717"}, {"caller_nid": "api_qc_complete_qc_task", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L717"}, {"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": "L727"}, {"caller_nid": "api_qc_get_task_results", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L728"}, {"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": "L728"}, {"caller_nid": "api_qc_get_task_results", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L730"}, {"caller_nid": "api_qc_get_task_results", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L730"}, {"caller_nid": "api_qc_get_task_results", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L732"}, {"caller_nid": "api_qc_get_task_results", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L732"}, {"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": "L743"}, {"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": "L744"}, {"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": "L745"}, {"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": "L747"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L748"}, {"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": "L750"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L751"}, {"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": "L753"}, {"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": "L755"}, {"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": "L761"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "deduct_for_task", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L763"}, {"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": "L771"}, {"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": "L779"}, {"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": "L780"}, {"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": "L784"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L784"}, {"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": "L786"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L786"}, {"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": "L788"}, {"caller_nid": "api_qc_complete_task_with_result", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L788"}, {"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": "L799"}, {"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": "L800"}, {"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": "L805"}, {"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": "L807"}, {"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": "L807"}, {"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": "L809"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L809"}, {"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": "L811"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L811"}, {"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": "L813"}, {"caller_nid": "api_qc_update_qc_task_attachments", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L813"}, {"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": "L897"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "list_materials", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L898"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L902"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L902"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L904"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L904"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L906"}, {"caller_nid": "api_qc_list_qc_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L906"}, {"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": "L915"}, {"caller_nid": "api_qc_qc_material_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L916"}, {"caller_nid": "api_qc_qc_material_options", "callee": "options_list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L916"}, {"caller_nid": "api_qc_qc_material_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L918"}, {"caller_nid": "api_qc_qc_material_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L918"}, {"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": "L928"}, {"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": "L929"}, {"caller_nid": "api_qc_create_qc_material", "callee": "create_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L930"}, {"caller_nid": "api_qc_create_qc_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L930"}, {"caller_nid": "api_qc_create_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L931"}, {"caller_nid": "api_qc_create_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L933"}, {"caller_nid": "api_qc_create_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L933"}, {"caller_nid": "api_qc_create_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L935"}, {"caller_nid": "api_qc_create_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L935"}, {"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": "L946"}, {"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": "L947"}, {"caller_nid": "api_qc_update_qc_material", "callee": "update_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L948"}, {"caller_nid": "api_qc_update_qc_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L948"}, {"caller_nid": "api_qc_update_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L949"}, {"caller_nid": "api_qc_update_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L951"}, {"caller_nid": "api_qc_update_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L951"}, {"caller_nid": "api_qc_update_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L953"}, {"caller_nid": "api_qc_update_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L953"}, {"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": "L963"}, {"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": "L964"}, {"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": "L965"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L966"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L968"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L968"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L970"}, {"caller_nid": "api_qc_delete_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L970"}, {"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": "L980"}, {"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": "L981"}, {"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": "L982"}, {"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": "L984"}, {"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": "L986"}, {"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": "L992"}, {"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": "L1000"}, {"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": "L1002"}, {"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": "L1002"}, {"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": "L1004"}, {"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": "L1004"}, {"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": "L1014"}, {"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": "L1015"}, {"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": "L1016"}, {"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": "L1018"}, {"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": "L1020"}, {"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": "L1026"}, {"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": "L1036"}, {"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": "L1038"}, {"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": "L1038"}, {"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": "L1040"}, {"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": "L1040"}, {"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": "L1051"}, {"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": "L1052"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1053"}, {"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": "L1055"}, {"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": "L1057"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "stock_in", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1061"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1064"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1064"}, {"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": "L1070"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1070"}, {"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": "L1072"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1072"}, {"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": "L1074"}, {"caller_nid": "api_qc_stock_in_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1074"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1085"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1086"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1087"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1089"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1091"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "stock_out", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1095"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1098"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1098"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1106"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "_row_to_dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1106"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1108"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1108"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1110"}, {"caller_nid": "api_qc_stock_out_qc_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1110"}, {"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": "L1128"}, {"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": "L1129"}, {"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": "L1135"}, {"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": "L1135"}, {"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": "L1137"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1137"}, {"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": "L1139"}, {"caller_nid": "api_qc_list_qc_material_usages", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/qc.py", "source_location": "L1139"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/8dd3c1dff9dfd4335eb8a321226301639cc73e0a2bc61589fb0468976bc421ca.json b/backend/app/graphify-out/cache/ast/8dd3c1dff9dfd4335eb8a321226301639cc73e0a2bc61589fb0468976bc421ca.json new file mode 100644 index 000000000..5bf436693 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/8dd3c1dff9dfd4335eb8a321226301639cc73e0a2bc61589fb0468976bc421ca.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "label": "material.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L1"}, {"id": "crud_material_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L15"}, {"id": "crud_material_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L21"}, {"id": "crud_material_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L25"}, {"id": "crud_material_code_exists", "label": "_code_exists()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L44"}, {"id": "crud_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L60"}, {"id": "crud_material_get_material", "label": "get_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L109"}, {"id": "crud_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L126"}, {"id": "crud_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L172"}, {"id": "crud_material_soft_delete_material", "label": "soft_delete_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L232"}, {"id": "crud_material_stock_in", "label": "stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L258"}, {"id": "crud_material_batch_stock_in", "label": "batch_stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L318"}, {"id": "crud_material_stock_out", "label": "stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L394"}, {"id": "crud_material_batch_stock_out", "label": "batch_stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L463"}, {"id": "crud_material_options_list", "label": "options_list()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L550"}, {"id": "crud_material_rationale_328", "label": "\u6279\u91cf\u5165\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L328"}, {"id": "crud_material_rationale_475", "label": "\u6279\u91cf\u51fa\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L475"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "app_models_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_code_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_list_materials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L60", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_get_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_create_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_update_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L172", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_soft_delete_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L232", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L258", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_batch_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L318", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L394", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_batch_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L463", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_options_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L550", "weight": 1.0}, {"source": "crud_material_row_to_dict", "target": "crud_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L33", "weight": 1.0}, {"source": "crud_material_row_to_dict", "target": "crud_material_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L39", "weight": 1.0}, {"source": "crud_material_list_materials", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L106", "weight": 1.0}, {"source": "crud_material_get_material", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L123", "weight": 1.0}, {"source": "crud_material_create_material", "target": "crud_material_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L137", "weight": 1.0}, {"source": "crud_material_create_material", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L169", "weight": 1.0}, {"source": "crud_material_update_material", "target": "crud_material_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L196", "weight": 1.0}, {"source": "crud_material_update_material", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L229", "weight": 1.0}, {"source": "crud_material_soft_delete_material", "target": "crud_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L249", "weight": 1.0}, {"source": "crud_material_stock_in", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L315", "weight": 1.0}, {"source": "crud_material_stock_out", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L460", "weight": 1.0}, {"source": "crud_material_options_list", "target": "crud_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L569", "weight": 1.0}, {"source": "crud_material_rationale_328", "target": "crud_material_batch_stock_in", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L328", "weight": 1.0}, {"source": "crud_material_rationale_475", "target": "crud_material_batch_stock_out", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L475", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_material_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L18"}, {"caller_nid": "crud_material_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L22"}, {"caller_nid": "crud_material_code_exists", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L47"}, {"caller_nid": "crud_material_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L50"}, {"caller_nid": "crud_material_code_exists", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L50"}, {"caller_nid": "crud_material_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L56"}, {"caller_nid": "crud_material_code_exists", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L57"}, {"caller_nid": "crud_material_list_materials", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L96"}, {"caller_nid": "crud_material_list_materials", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L96"}, {"caller_nid": "crud_material_list_materials", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L96"}, {"caller_nid": "crud_material_list_materials", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L96"}, {"caller_nid": "crud_material_list_materials", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L96"}, {"caller_nid": "crud_material_list_materials", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L97"}, {"caller_nid": "crud_material_list_materials", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L98"}, {"caller_nid": "crud_material_list_materials", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L98"}, {"caller_nid": "crud_material_list_materials", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L100"}, {"caller_nid": "crud_material_list_materials", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L100"}, {"caller_nid": "crud_material_list_materials", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L100"}, {"caller_nid": "crud_material_list_materials", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L100"}, {"caller_nid": "crud_material_list_materials", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L100"}, {"caller_nid": "crud_material_list_materials", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L101"}, {"caller_nid": "crud_material_list_materials", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L106"}, {"caller_nid": "crud_material_get_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L113"}, {"caller_nid": "crud_material_get_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L113"}, {"caller_nid": "crud_material_get_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L113"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L134"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L134"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L136"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L138"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L139"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L139"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L141"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L142"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L142"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L144"}, {"caller_nid": "crud_material_create_material", "callee": "BizMaterial", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L145"}, {"caller_nid": "crud_material_create_material", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L146"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L149"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L149"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L150"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L150"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L151"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L151"}, {"caller_nid": "crud_material_create_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L153"}, {"caller_nid": "crud_material_create_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L153"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L153"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L155"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L155"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L157"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L157"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L158"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L158"}, {"caller_nid": "crud_material_create_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L161"}, {"caller_nid": "crud_material_create_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L163"}, {"caller_nid": "crud_material_create_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L166"}, {"caller_nid": "crud_material_create_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L167"}, {"caller_nid": "crud_material_create_material", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L168"}, {"caller_nid": "crud_material_update_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L181"}, {"caller_nid": "crud_material_update_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L181"}, {"caller_nid": "crud_material_update_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L181"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L190"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L193"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L195"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L197"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L200"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L202"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L205"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L207"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L209"}, {"caller_nid": "crud_material_update_material", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L211"}, {"caller_nid": "crud_material_update_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L211"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L213"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L215"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L218"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L222"}, {"caller_nid": "crud_material_update_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L225"}, {"caller_nid": "crud_material_update_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L226"}, {"caller_nid": "crud_material_update_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L227"}, {"caller_nid": "crud_material_update_material", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L228"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L239"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L239"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L239"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L248"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L250"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L253"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L254"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L255"}, {"caller_nid": "crud_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L270"}, {"caller_nid": "crud_material_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L271"}, {"caller_nid": "crud_material_stock_in", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L271"}, {"caller_nid": "crud_material_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L274"}, {"caller_nid": "crud_material_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L274"}, {"caller_nid": "crud_material_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L274"}, {"caller_nid": "crud_material_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L274"}, {"caller_nid": "crud_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L284"}, {"caller_nid": "crud_material_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L286"}, {"caller_nid": "crud_material_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L287"}, {"caller_nid": "crud_material_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L291"}, {"caller_nid": "crud_material_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L292"}, {"caller_nid": "crud_material_stock_in", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L294"}, {"caller_nid": "crud_material_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L295"}, {"caller_nid": "crud_material_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L304"}, {"caller_nid": "crud_material_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L312"}, {"caller_nid": "crud_material_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L313"}, {"caller_nid": "crud_material_stock_in", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L314"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L330"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L331"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L332"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L336"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L336"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L336"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L337"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L339"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L341"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L342"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L342"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L343"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L343"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L347"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L347"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L347"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L347"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L357"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L359"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L361"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L365"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L366"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L368"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L369"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L386"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L387"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L388"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L390"}, {"caller_nid": "crud_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L408"}, {"caller_nid": "crud_material_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L409"}, {"caller_nid": "crud_material_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L409"}, {"caller_nid": "crud_material_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L412"}, {"caller_nid": "crud_material_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L412"}, {"caller_nid": "crud_material_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L412"}, {"caller_nid": "crud_material_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L412"}, {"caller_nid": "crud_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L422"}, {"caller_nid": "crud_material_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L424"}, {"caller_nid": "crud_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L426"}, {"caller_nid": "crud_material_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L430"}, {"caller_nid": "crud_material_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L434"}, {"caller_nid": "crud_material_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L435"}, {"caller_nid": "crud_material_stock_out", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L437"}, {"caller_nid": "crud_material_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L438"}, {"caller_nid": "crud_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L446"}, {"caller_nid": "crud_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L447"}, {"caller_nid": "crud_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L449"}, {"caller_nid": "crud_material_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L457"}, {"caller_nid": "crud_material_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L458"}, {"caller_nid": "crud_material_stock_out", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L459"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L477"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L478"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L479"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L480"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L481"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L485"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L485"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L485"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L486"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L488"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L490"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L491"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L491"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L492"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L492"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L496"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L496"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L496"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L496"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L506"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L508"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L510"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L512"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L519"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L520"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L522"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L523"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L542"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L543"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L544"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L546"}, {"caller_nid": "crud_material_options_list", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L552"}, {"caller_nid": "crud_material_options_list", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L552"}, {"caller_nid": "crud_material_options_list", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L552"}, {"caller_nid": "crud_material_options_list", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L552"}, {"caller_nid": "crud_material_options_list", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L558"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/bcb9f82d7e1232294913e7624d659622ab5ad239fd3035882128b84b2e9d5388.json b/backend/app/graphify-out/cache/ast/bcb9f82d7e1232294913e7624d659622ab5ad239fd3035882128b84b2e9d5388.json new file mode 100644 index 000000000..e7c98f5d8 --- /dev/null +++ b/backend/app/graphify-out/cache/ast/bcb9f82d7e1232294913e7624d659622ab5ad239fd3035882128b84b2e9d5388.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "label": "material.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L1"}, {"id": "api_material_materialbody", "label": "MaterialBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L23"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "api_material_materialupdatebody", "label": "MaterialUpdateBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L36"}, {"id": "api_material_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L49"}, {"id": "api_material_stockoutbody", "label": "StockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L56"}, {"id": "api_material_batchstockinitem", "label": "BatchStockInItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L65"}, {"id": "api_material_batchstockinbody", "label": "BatchStockInBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L72"}, {"id": "api_material_batchstockoutitem", "label": "BatchStockOutItem", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L79"}, {"id": "api_material_batchstockoutbody", "label": "BatchStockOutBody", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L86"}, {"id": "api_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L99"}, {"id": "api_material_material_options", "label": "material_options()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L122"}, {"id": "api_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L134"}, {"id": "api_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L154"}, {"id": "api_material_delete_material", "label": "delete_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L175"}, {"id": "api_material_batch_stock_in_material", "label": "batch_stock_in_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L192"}, {"id": "api_material_batch_stock_out_material", "label": "batch_stock_out_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L226"}, {"id": "api_material_stock_in_material", "label": "stock_in_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L262"}, {"id": "api_material_stock_out_material", "label": "stock_out_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L289"}, {"id": "api_material_list_stock_logs", "label": "list_stock_logs()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L320"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_api_sample_reception", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_materialbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L23", "weight": 1.0}, {"source": "api_material_materialbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_materialupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L36", "weight": 1.0}, {"source": "api_material_materialupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stockinbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L49", "weight": 1.0}, {"source": "api_material_stockinbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stockoutbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L56", "weight": 1.0}, {"source": "api_material_stockoutbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L56", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockinitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L65", "weight": 1.0}, {"source": "api_material_batchstockinitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockinbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L72", "weight": 1.0}, {"source": "api_material_batchstockinbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L72", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockoutitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L79", "weight": 1.0}, {"source": "api_material_batchstockoutitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L79", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batchstockoutbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L86", "weight": 1.0}, {"source": "api_material_batchstockoutbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L86", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_list_materials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L99", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_material_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_create_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_update_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_delete_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L175", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batch_stock_in_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L192", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_batch_stock_out_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L226", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stock_in_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_stock_out_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L289", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_api_material_py", "target": "api_material_list_stock_logs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L320", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_material_list_materials", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L109"}, {"caller_nid": "api_material_list_materials", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L114"}, {"caller_nid": "api_material_list_materials", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L114"}, {"caller_nid": "api_material_list_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L116"}, {"caller_nid": "api_material_list_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L116"}, {"caller_nid": "api_material_list_materials", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L118"}, {"caller_nid": "api_material_list_materials", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L118"}, {"caller_nid": "api_material_material_options", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L127"}, {"caller_nid": "api_material_material_options", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L128"}, {"caller_nid": "api_material_material_options", "callee": "options_list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L128"}, {"caller_nid": "api_material_material_options", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L130"}, {"caller_nid": "api_material_material_options", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L130"}, {"caller_nid": "api_material_create_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L140"}, {"caller_nid": "api_material_create_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L141"}, {"caller_nid": "api_material_create_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L143"}, {"caller_nid": "api_material_create_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L146"}, {"caller_nid": "api_material_create_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L148"}, {"caller_nid": "api_material_create_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L148"}, {"caller_nid": "api_material_create_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L150"}, {"caller_nid": "api_material_create_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L150"}, {"caller_nid": "api_material_update_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L161"}, {"caller_nid": "api_material_update_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L162"}, {"caller_nid": "api_material_update_material", "callee": "model_dump", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L164"}, {"caller_nid": "api_material_update_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L167"}, {"caller_nid": "api_material_update_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L169"}, {"caller_nid": "api_material_update_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L169"}, {"caller_nid": "api_material_update_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L171"}, {"caller_nid": "api_material_update_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L171"}, {"caller_nid": "api_material_delete_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L181"}, {"caller_nid": "api_material_delete_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L182"}, {"caller_nid": "api_material_delete_material", "callee": "soft_delete_material", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L183"}, {"caller_nid": "api_material_delete_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L184"}, {"caller_nid": "api_material_delete_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L186"}, {"caller_nid": "api_material_delete_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L186"}, {"caller_nid": "api_material_delete_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L188"}, {"caller_nid": "api_material_delete_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L188"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L198"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L199"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L200"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L202"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L204"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "batch_stock_in", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L210"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L218"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L220"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L220"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L222"}, {"caller_nid": "api_material_batch_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L222"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L232"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L233"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L234"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L236"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L238"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "batch_stock_out", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L244"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L254"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L256"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L256"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L258"}, {"caller_nid": "api_material_batch_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L258"}, {"caller_nid": "api_material_stock_in_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L269"}, {"caller_nid": "api_material_stock_in_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L270"}, {"caller_nid": "api_material_stock_in_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L271"}, {"caller_nid": "api_material_stock_in_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L273"}, {"caller_nid": "api_material_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L275"}, {"caller_nid": "api_material_stock_in_material", "callee": "stock_in", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L277"}, {"caller_nid": "api_material_stock_in_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L281"}, {"caller_nid": "api_material_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L283"}, {"caller_nid": "api_material_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L283"}, {"caller_nid": "api_material_stock_in_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L285"}, {"caller_nid": "api_material_stock_in_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L285"}, {"caller_nid": "api_material_stock_out_material", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L296"}, {"caller_nid": "api_material_stock_out_material", "callee": "_get_current_user_id", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L297"}, {"caller_nid": "api_material_stock_out_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L298"}, {"caller_nid": "api_material_stock_out_material", "callee": "parse_datetime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L300"}, {"caller_nid": "api_material_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L302"}, {"caller_nid": "api_material_stock_out_material", "callee": "stock_out", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L304"}, {"caller_nid": "api_material_stock_out_material", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L309"}, {"caller_nid": "api_material_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L311"}, {"caller_nid": "api_material_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L311"}, {"caller_nid": "api_material_stock_out_material", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L313"}, {"caller_nid": "api_material_stock_out_material", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L313"}, {"caller_nid": "api_material_list_stock_logs", "callee": "_get_tenant_no", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L332"}, {"caller_nid": "api_material_list_stock_logs", "callee": "success_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L338"}, {"caller_nid": "api_material_list_stock_logs", "callee": "_page_payload", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L338"}, {"caller_nid": "api_material_list_stock_logs", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L340"}, {"caller_nid": "api_material_list_stock_logs", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L340"}, {"caller_nid": "api_material_list_stock_logs", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L342"}, {"caller_nid": "api_material_list_stock_logs", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/api/material.py", "source_location": "L342"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/f4a8c0511836a12fdcfbb694e3f1566c555198f84f0bbeceeed47edaa13538eb.json b/backend/app/graphify-out/cache/ast/f4a8c0511836a12fdcfbb694e3f1566c555198f84f0bbeceeed47edaa13538eb.json new file mode 100644 index 000000000..e900cd26d --- /dev/null +++ b/backend/app/graphify-out/cache/ast/f4a8c0511836a12fdcfbb694e3f1566c555198f84f0bbeceeed47edaa13538eb.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "label": "material.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L1"}, {"id": "crud_material_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L15"}, {"id": "crud_material_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L21"}, {"id": "crud_material_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L25"}, {"id": "crud_material_code_exists", "label": "_code_exists()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L43"}, {"id": "crud_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L59"}, {"id": "crud_material_get_material", "label": "get_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L108"}, {"id": "crud_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L125"}, {"id": "crud_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L170"}, {"id": "crud_material_soft_delete_material", "label": "soft_delete_material()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L228"}, {"id": "crud_material_stock_in", "label": "stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L254"}, {"id": "crud_material_batch_stock_in", "label": "batch_stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L314"}, {"id": "crud_material_stock_out", "label": "stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L390"}, {"id": "crud_material_batch_stock_out", "label": "batch_stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L459"}, {"id": "crud_material_options_list", "label": "options_list()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L546"}, {"id": "crud_material_rationale_324", "label": "\u6279\u91cf\u5165\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L324"}, {"id": "crud_material_rationale_471", "label": "\u6279\u91cf\u51fa\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L471"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "app_models_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_code_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_list_materials", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_get_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L108", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_create_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L125", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_update_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L170", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_soft_delete_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L228", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L254", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_batch_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L314", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_batch_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L459", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_py", "target": "crud_material_options_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L546", "weight": 1.0}, {"source": "crud_material_row_to_dict", "target": "crud_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L33", "weight": 1.0}, {"source": "crud_material_row_to_dict", "target": "crud_material_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L38", "weight": 1.0}, {"source": "crud_material_list_materials", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L105", "weight": 1.0}, {"source": "crud_material_get_material", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L122", "weight": 1.0}, {"source": "crud_material_create_material", "target": "crud_material_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L136", "weight": 1.0}, {"source": "crud_material_create_material", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L167", "weight": 1.0}, {"source": "crud_material_update_material", "target": "crud_material_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L194", "weight": 1.0}, {"source": "crud_material_update_material", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L225", "weight": 1.0}, {"source": "crud_material_soft_delete_material", "target": "crud_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L245", "weight": 1.0}, {"source": "crud_material_stock_in", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L311", "weight": 1.0}, {"source": "crud_material_stock_out", "target": "crud_material_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L456", "weight": 1.0}, {"source": "crud_material_options_list", "target": "crud_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L565", "weight": 1.0}, {"source": "crud_material_rationale_324", "target": "crud_material_batch_stock_in", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L324", "weight": 1.0}, {"source": "crud_material_rationale_471", "target": "crud_material_batch_stock_out", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L471", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_material_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L18"}, {"caller_nid": "crud_material_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L22"}, {"caller_nid": "crud_material_code_exists", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L46"}, {"caller_nid": "crud_material_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L49"}, {"caller_nid": "crud_material_code_exists", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L49"}, {"caller_nid": "crud_material_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L55"}, {"caller_nid": "crud_material_code_exists", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L56"}, {"caller_nid": "crud_material_list_materials", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L95"}, {"caller_nid": "crud_material_list_materials", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L95"}, {"caller_nid": "crud_material_list_materials", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L95"}, {"caller_nid": "crud_material_list_materials", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L95"}, {"caller_nid": "crud_material_list_materials", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L95"}, {"caller_nid": "crud_material_list_materials", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L96"}, {"caller_nid": "crud_material_list_materials", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L97"}, {"caller_nid": "crud_material_list_materials", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L97"}, {"caller_nid": "crud_material_list_materials", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L99"}, {"caller_nid": "crud_material_list_materials", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L99"}, {"caller_nid": "crud_material_list_materials", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L99"}, {"caller_nid": "crud_material_list_materials", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L99"}, {"caller_nid": "crud_material_list_materials", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L99"}, {"caller_nid": "crud_material_list_materials", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L100"}, {"caller_nid": "crud_material_list_materials", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L105"}, {"caller_nid": "crud_material_get_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L112"}, {"caller_nid": "crud_material_get_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L112"}, {"caller_nid": "crud_material_get_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L112"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L133"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L133"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L135"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L137"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L138"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L138"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L140"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L141"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L141"}, {"caller_nid": "crud_material_create_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L143"}, {"caller_nid": "crud_material_create_material", "callee": "BizMaterial", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L144"}, {"caller_nid": "crud_material_create_material", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L145"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L148"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L148"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L149"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L149"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L150"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L150"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L153"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L153"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L155"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L155"}, {"caller_nid": "crud_material_create_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L156"}, {"caller_nid": "crud_material_create_material", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L156"}, {"caller_nid": "crud_material_create_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L159"}, {"caller_nid": "crud_material_create_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L161"}, {"caller_nid": "crud_material_create_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L164"}, {"caller_nid": "crud_material_create_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L165"}, {"caller_nid": "crud_material_create_material", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L166"}, {"caller_nid": "crud_material_update_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L179"}, {"caller_nid": "crud_material_update_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L179"}, {"caller_nid": "crud_material_update_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L179"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L188"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L191"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L193"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L195"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L198"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L200"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L203"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L205"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L207"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L209"}, {"caller_nid": "crud_material_update_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L211"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L214"}, {"caller_nid": "crud_material_update_material", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L218"}, {"caller_nid": "crud_material_update_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L221"}, {"caller_nid": "crud_material_update_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L222"}, {"caller_nid": "crud_material_update_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L223"}, {"caller_nid": "crud_material_update_material", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L224"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L235"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L235"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L235"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L244"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L246"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L249"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L250"}, {"caller_nid": "crud_material_soft_delete_material", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L251"}, {"caller_nid": "crud_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L266"}, {"caller_nid": "crud_material_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L267"}, {"caller_nid": "crud_material_stock_in", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L267"}, {"caller_nid": "crud_material_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L270"}, {"caller_nid": "crud_material_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L270"}, {"caller_nid": "crud_material_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L270"}, {"caller_nid": "crud_material_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L270"}, {"caller_nid": "crud_material_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L280"}, {"caller_nid": "crud_material_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L282"}, {"caller_nid": "crud_material_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L283"}, {"caller_nid": "crud_material_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L287"}, {"caller_nid": "crud_material_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L288"}, {"caller_nid": "crud_material_stock_in", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L290"}, {"caller_nid": "crud_material_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L291"}, {"caller_nid": "crud_material_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L300"}, {"caller_nid": "crud_material_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L308"}, {"caller_nid": "crud_material_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L309"}, {"caller_nid": "crud_material_stock_in", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L310"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L326"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L327"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L328"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L332"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L332"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L332"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L333"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L335"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L337"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L338"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L338"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L339"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L339"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L343"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L343"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L343"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L343"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L353"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L355"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L357"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L361"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L362"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L364"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L365"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L382"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L383"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L384"}, {"caller_nid": "crud_material_batch_stock_in", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L386"}, {"caller_nid": "crud_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L404"}, {"caller_nid": "crud_material_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L405"}, {"caller_nid": "crud_material_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L405"}, {"caller_nid": "crud_material_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L408"}, {"caller_nid": "crud_material_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L408"}, {"caller_nid": "crud_material_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L408"}, {"caller_nid": "crud_material_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L408"}, {"caller_nid": "crud_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L418"}, {"caller_nid": "crud_material_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L420"}, {"caller_nid": "crud_material_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L422"}, {"caller_nid": "crud_material_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L426"}, {"caller_nid": "crud_material_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L430"}, {"caller_nid": "crud_material_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L431"}, {"caller_nid": "crud_material_stock_out", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L433"}, {"caller_nid": "crud_material_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L434"}, {"caller_nid": "crud_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L442"}, {"caller_nid": "crud_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L443"}, {"caller_nid": "crud_material_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L445"}, {"caller_nid": "crud_material_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L453"}, {"caller_nid": "crud_material_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L454"}, {"caller_nid": "crud_material_stock_out", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L455"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L473"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L474"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L475"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L476"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L477"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L481"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L481"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L481"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L482"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L484"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L486"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L487"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L487"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L488"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L488"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L492"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L492"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L492"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L492"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L502"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L504"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L506"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L508"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L515"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L516"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "BizMaterialStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L518"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L519"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L538"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L539"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L540"}, {"caller_nid": "crud_material_batch_stock_out", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L542"}, {"caller_nid": "crud_material_options_list", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L548"}, {"caller_nid": "crud_material_options_list", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L548"}, {"caller_nid": "crud_material_options_list", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L548"}, {"caller_nid": "crud_material_options_list", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L548"}, {"caller_nid": "crud_material_options_list", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material.py", "source_location": "L554"}]} \ No newline at end of file diff --git a/backend/app/graphify-out/cache/ast/f7b592f1ddc0ac7088578443e509082419a68a22df8cd8a40a1f188b12182391.json b/backend/app/graphify-out/cache/ast/f7b592f1ddc0ac7088578443e509082419a68a22df8cd8a40a1f188b12182391.json new file mode 100644 index 000000000..02dde14bf --- /dev/null +++ b/backend/app/graphify-out/cache/ast/f7b592f1ddc0ac7088578443e509082419a68a22df8cd8a40a1f188b12182391.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "label": "material_stock_log.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L1"}, {"id": "crud_material_stock_log_user_nick_name_map", "label": "_user_nick_name_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L14"}, {"id": "crud_material_stock_log_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L22"}, {"id": "crud_material_stock_log_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L28"}, {"id": "crud_material_stock_log_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L32"}, {"id": "crud_material_stock_log_list_stock_logs", "label": "list_stock_logs()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L53"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "app_models_material", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "crud_material_stock_log_user_nick_name_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "crud_material_stock_log_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "crud_material_stock_log_fmt_dt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "crud_material_stock_log_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_material_stock_log_py", "target": "crud_material_stock_log_list_stock_logs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L53", "weight": 1.0}, {"source": "crud_material_stock_log_row_to_dict", "target": "crud_material_stock_log_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L40", "weight": 1.0}, {"source": "crud_material_stock_log_row_to_dict", "target": "crud_material_stock_log_fmt_dt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L48", "weight": 1.0}, {"source": "crud_material_stock_log_list_stock_logs", "target": "crud_material_stock_log_user_nick_name_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L103", "weight": 1.0}, {"source": "crud_material_stock_log_list_stock_logs", "target": "crud_material_stock_log_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L105", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_material_stock_log_user_nick_name_map", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L15"}, {"caller_nid": "crud_material_stock_log_user_nick_name_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L18"}, {"caller_nid": "crud_material_stock_log_user_nick_name_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L18"}, {"caller_nid": "crud_material_stock_log_user_nick_name_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L18"}, {"caller_nid": "crud_material_stock_log_user_nick_name_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L18"}, {"caller_nid": "crud_material_stock_log_user_nick_name_map", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L19"}, {"caller_nid": "crud_material_stock_log_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L25"}, {"caller_nid": "crud_material_stock_log_fmt_dt", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L29"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L93"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L93"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L93"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L93"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L93"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L94"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L95"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L95"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L97"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L97"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L97"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L97"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L97"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L98"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L105"}, {"caller_nid": "crud_material_stock_log_list_stock_logs", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/material_stock_log.py", "source_location": "L107"}]} \ No newline at end of file diff --git a/backend/app/models/material.py b/backend/app/models/material.py index 34072c1e0..4f92efbbd 100644 --- a/backend/app/models/material.py +++ b/backend/app/models/material.py @@ -15,6 +15,7 @@ class BizMaterial(Base): spec_model = Column(String(200), nullable=True, comment="规格型号") unit = Column(String(32), nullable=True, comment="单位") stock_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="当前库存量") + warning_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="预警库存量") status = Column(String(1), nullable=False, default="1", comment="1-启用 0-停用") image_urls = Column(String(2000), nullable=True, comment="物料图片(逗号分隔)") tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") diff --git a/backend/app/models/qc_material.py b/backend/app/models/qc_material.py index 32d6f545f..d31c5b3f0 100644 --- a/backend/app/models/qc_material.py +++ b/backend/app/models/qc_material.py @@ -39,7 +39,13 @@ class BizQcMaterialUsage(Base): stock_after = Column(Numeric(18, 4), nullable=False, comment="变动后库存量") qc_task_id = Column(String(64), nullable=True, comment="关联质检任务ID") qc_task_no = Column(String(32), nullable=True, comment="质检任务号快照") - source_type = Column(String(16), nullable=False, comment="来源类型:task_complete / manual_in") + receiver = Column(String(64), nullable=True, comment="领用人(手动出库)") + purpose = Column(String(512), nullable=True, comment="用途/事由(手动出库)") + source_type = Column( + String(16), + nullable=False, + comment="来源:task_complete / manual_in / manual_out", + ) tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") remark = Column(String(512), nullable=True, comment="备注") create_by = Column(String(64), nullable=True, comment="创建人id") diff --git a/backend/graphify-out/.graphify_analysis.json b/backend/graphify-out/.graphify_analysis.json index 3a291ded5..860ad8a50 100644 --- a/backend/graphify-out/.graphify_analysis.json +++ b/backend/graphify-out/.graphify_analysis.json @@ -24,27 +24,18 @@ "api_admin_delete_site", "api_admin_delete_tenant", "api_admin_delete_user", - "api_admin_dict_data_options", - "api_admin_format_file_size", - "api_admin_get_role_data_scope", - "api_admin_get_role_menus", "api_admin_get_tenant_no", "api_admin_get_user_by_id", - "api_admin_list_depts", "api_admin_list_dict_data", "api_admin_list_dict_types", "api_admin_list_express_companies", "api_admin_list_item_units", - "api_admin_list_menus", "api_admin_list_post_bound_users", "api_admin_list_posts", "api_admin_list_role_management", - "api_admin_list_roles_for_designer", "api_admin_list_sites", "api_admin_list_tenants", "api_admin_list_users", - "api_admin_list_users_for_select", - "api_admin_py", "api_admin_reset_user_password", "api_admin_update_dept", "api_admin_update_dict_data", @@ -60,7 +51,6 @@ "api_admin_update_site", "api_admin_update_tenant", "api_admin_update_user", - "api_admin_upload_attachment", "api_basic_info_batch_generate_protocol_nos", "api_basic_info_batch_generate_sample_codes", "api_basic_info_batch_issue_protocol_nos", @@ -86,20 +76,61 @@ "api_basic_info_list_hospitals", "api_basic_info_list_protocol_nos", "api_basic_info_list_sample_codes", - "api_basic_info_py", "api_basic_info_update_cell_sample_type", "api_basic_info_update_collection_region", "api_basic_info_update_customer", "api_basic_info_update_hospital", "api_basic_info_update_protocol_no", "api_basic_info_update_sample_code", + "api_collection_protocol_create_collection_protocol", + "api_collection_protocol_delete_collection_protocol", + "api_collection_protocol_get_collection_protocol_detail", + "api_collection_protocol_get_current_user_id", + "api_collection_protocol_get_tenant_no", + "api_collection_protocol_list_collection_protocol_audits", + "api_collection_protocol_list_collection_protocols", + "api_collection_protocol_list_fullmoon_todos", + "api_collection_protocol_list_payment_details", + "api_collection_protocol_list_receipt_confirm", + "api_collection_protocol_list_receipt_confirmed", + "api_collection_protocol_list_refund_confirm", + "api_collection_protocol_list_refund_confirmed", + "api_collection_protocol_list_storage_certs", + "api_collection_protocol_parse_datetime_fields", "api_collection_protocol_post_receipt_confirm", "api_collection_protocol_post_refund_confirm", "api_collection_protocol_post_submit_receipt_finance", "api_collection_protocol_post_submit_receipt_finance_batch", "api_collection_protocol_post_submit_refund_finance", "api_collection_protocol_post_submit_refund_finance_batch", + "api_collection_protocol_py", + "api_collection_protocol_resolve_protocol_attachments", "api_collection_protocol_submit_collection_protocol_audit", + "api_collection_protocol_update_collection_protocol", + "api_collection_protocol_update_fullmoon_todo_insurance", + "api_insurance_company_create_insurance_company", + "api_insurance_company_create_insurance_company_invoice", + "api_insurance_company_create_insurance_project_price", + "api_insurance_company_delete_insurance_company", + "api_insurance_company_delete_insurance_company_invoice", + "api_insurance_company_delete_insurance_project_price", + "api_insurance_company_fmt_dt", + "api_insurance_company_generate_uuid", + "api_insurance_company_get_tenant_no", + "api_insurance_company_list_insurance_companies", + "api_insurance_company_list_insurance_company_invoices", + "api_insurance_company_list_insurance_project_prices", + "api_insurance_company_py", + "api_insurance_company_row_to_dict_company", + "api_insurance_company_row_to_dict_invoice", + "api_insurance_company_row_to_dict_project_price", + "api_insurance_company_soft_delete_insurance_company", + "api_insurance_company_soft_delete_insurance_company_invoice", + "api_insurance_company_soft_delete_insurance_project_price", + "api_insurance_company_total_pages", + "api_insurance_company_update_insurance_company", + "api_insurance_company_update_insurance_company_invoice", + "api_insurance_company_update_insurance_project_price", "api_leave_create_leave", "api_leave_delete_leave", "api_leave_get_leave", @@ -109,12 +140,13 @@ "api_leave_py", "api_leave_submit_leave", "api_leave_update_leave", + "api_material_batch_stock_in_material", + "api_material_batch_stock_out_material", "api_material_create_material", "api_material_delete_material", "api_material_list_materials", "api_material_list_stock_logs", "api_material_material_options", - "api_material_py", "api_material_stock_in_material", "api_material_stock_out_material", "api_material_update_material", @@ -282,6 +314,8 @@ "api_production_update_step_outputs", "api_production_update_step_reagents", "api_public_get_current_user_profile", + "api_qc_batch_stock_in_qc_material", + "api_qc_batch_stock_out_qc_material", "api_qc_complete_qc_task", "api_qc_complete_task_with_result", "api_qc_configure_qc_work_order", @@ -313,12 +347,26 @@ "api_qc_save_item_params", "api_qc_start_qc_task", "api_qc_stock_in_qc_material", + "api_qc_stock_out_qc_material", "api_qc_update_qc_lab_test_item", "api_qc_update_qc_material", "api_qc_update_qc_task_attachments", "api_qc_update_qc_third_party_company", "api_qc_update_qc_third_party_item", + "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_py", "api_research_donation_submit_donation_audit", + "api_research_donation_update_research_donation", "api_sample_reception_create_check_item", "api_sample_reception_delete_check_item", "api_sample_reception_get_current_user_id", @@ -354,34 +402,26 @@ "api_workflow_update_process_def", "core_response_error_response", "core_response_success_response", - "core_wechat_pay_rationale_410", - "core_wechat_pay_rationale_443", - "core_wechat_pay_wechatpayv2client_build_miniprogram_pay_params", - "core_wechat_pay_wechatpayv2client_unified_order", + "core_utils_parse_datetime", "crud_base_crudbase_get", "crud_collection_protocol_no_enrich_issued_user_names", "crud_collection_region_region_to_dict", - "crud_exhibition_appointment_format_visit_date", - "crud_exhibition_appointment_rationale_16", "crud_exhibition_appointment_row_to_dict", "crud_exhibition_appointment_total_pages", "crud_leave_update_leave_status", - "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_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_process_route_update_step", "crud_production_task_task_to_dict", "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_rationale_329", + "crud_qc_material_rationale_474", + "crud_qc_material_stock_out", "crud_qc_material_usage_deduct_for_task", + "crud_research_donation_change_status", + "crud_research_donation_donation_to_dict", "schemas_order_adjust_adjuststatus", "schemas_order_adjust_adjusttype", "schemas_order_adjust_py", @@ -397,13 +437,18 @@ "api_admin_dicttypeupdatebody", "api_admin_expresscompanycreatebody", "api_admin_expresscompanyupdatebody", + "api_admin_format_file_size", "api_admin_itemunitcreatebody", "api_admin_itemunitupdatebody", + "api_admin_list_roles_for_designer", + "api_admin_list_roles_for_select", + "api_admin_list_users_for_select", "api_admin_menucreatebody", "api_admin_menuupdatebody", "api_admin_postcreatebody", "api_admin_postupdatebody", "api_admin_postusersupdatebody", + "api_admin_py", "api_admin_rationale_1537", "api_admin_rationale_45", "api_admin_rationale_77", @@ -416,10 +461,16 @@ "api_admin_siteupdatebody", "api_admin_tenantcreatebody", "api_admin_tenantupdatebody", + "api_admin_upload_attachment", "api_admin_usercreatebody", "api_admin_userupdatebody", + "api_material_batchstockinbody", + "api_material_batchstockinitem", + "api_material_batchstockoutbody", + "api_material_batchstockoutitem", "api_material_materialbody", "api_material_materialupdatebody", + "api_material_py", "api_material_stockinbody", "api_material_stockoutbody", "api_pilot_service_cellproductpricecreatebody", @@ -453,12 +504,17 @@ "api_pilot_service_projectsystemupdatebody", "api_pilot_service_rationale_1", "api_public_rationale_215", + "api_qc_batchstockinbody", + "api_qc_batchstockinitem", + "api_qc_batchstockoutbody", + "api_qc_batchstockoutitem", "api_qc_itemparambody", "api_qc_labtestitembody", "api_qc_labtestitemupdatebody", "api_qc_qcmaterialbody", "api_qc_qcmaterialupdatebody", "api_qc_stockinbody", + "api_qc_stockoutbody", "api_qc_taskattachmentsbody", "api_qc_taskcompletewithresultbody", "api_qc_taskresultbody", @@ -467,11 +523,24 @@ "api_qc_thirdpartyitembody", "api_qc_thirdpartyitemupdatebody", "api_qc_workorderconfigurebody", + "api_research_donation_auditsubmitbody", + "api_research_donation_batchdeletebody", + "api_research_donation_convertfromstoragebody", + "api_research_donation_donationcreatebody", + "api_research_donation_donationupdatebody", + "api_research_donation_rationale_1", + "api_research_donation_statuschangebody", "api_sample_reception_checkitembody", "api_sample_reception_checkitemupdatebody", "api_sample_reception_receptionchecksubmit", "api_sample_reception_samplereceptioncreatebody", "api_sample_reception_samplereceptionupdatebody", + "api_workflow_processdefcreatebody", + "api_workflow_processdefupdatebody", + "api_workflow_publishversionbody", + "api_workflow_rationale_135", + "api_workflow_startinstancebody", + "api_workflow_taskactionbody", "basemodel", "core_data_scope_rationale_1", "core_data_scope_rationale_113", @@ -482,14 +551,14 @@ "core_response_pageresult", "core_response_py", "core_response_responsemodel", - "crud_user_rationale_1", - "crud_user_rationale_134", - "crud_user_rationale_181", - "crud_user_usercrudcompat", + "crud_workflow_rationale_1", "models_models_bizattachment", "models_models_sysdept", "models_models_sysrole", "models_models_sysuser", + "models_models_wfnode", + "models_models_wfprocessdef", + "models_models_wftask", "schemas_attachment_attachmentuploadresponse", "schemas_attachment_py", "schemas_auth_changepasswordrequest", @@ -762,235 +831,261 @@ "schemas_workflow_startinstancerequest", "schemas_workflow_taskresponse", "schemas_workflow_transitiondata", - "schemas_workflow_versionresponse" + "schemas_workflow_versionresponse", + "services_workflow_engine_rationale_1" ], "2": [ - "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_collection_protocol_auditcreatebody", - "api_collection_protocol_batchdetailidsbody", - "api_collection_protocol_batchrefundfinancesubmitbody", - "api_collection_protocol_create_collection_protocol", - "api_collection_protocol_delete_collection_protocol", - "api_collection_protocol_ensure_customer_for_mother", - "api_collection_protocol_financeconfirmbody", - "api_collection_protocol_fullmoontodoinsurancebody", - "api_collection_protocol_get_collection_protocol_detail", - "api_collection_protocol_get_current_user_id", - "api_collection_protocol_get_tenant_no", - "api_collection_protocol_list_collection_protocol_audits", - "api_collection_protocol_list_collection_protocols", - "api_collection_protocol_list_fullmoon_todos", - "api_collection_protocol_list_payment_details", - "api_collection_protocol_list_receipt_confirm", - "api_collection_protocol_list_receipt_confirmed", - "api_collection_protocol_list_refund_confirm", - "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_protocolcreatebody", - "api_collection_protocol_protocolupdatebody", - "api_collection_protocol_py", - "api_collection_protocol_rationale_1", - "api_collection_protocol_rationale_68", - "api_collection_protocol_refundfinanceconfirmbody", - "api_collection_protocol_refundfinancesubmitbody", - "api_collection_protocol_resolve_protocol_attachments", - "api_collection_protocol_update_collection_protocol", - "api_collection_protocol_update_fullmoon_todo_insurance", - "core_utils_parse_datetime", - "crud_collection_protocol_add_months_yyyymmdd", - "crud_collection_protocol_align_fq_payment_details_payload", - "crud_collection_protocol_apply_submit_receipt_finance", - "crud_collection_protocol_apply_submit_refund_finance", - "crud_collection_protocol_attachments_to_urls", - "crud_collection_protocol_audit_to_dict", - "crud_collection_protocol_batch_submit_receipt_finance", - "crud_collection_protocol_batch_submit_refund_finance", - "crud_collection_protocol_calc_installment_due_amounts", - "crud_collection_protocol_classify_installment_warning", - "crud_collection_protocol_collection_info_to_dict", - "crud_collection_protocol_confirm_receipt", - "crud_collection_protocol_confirm_refund", - "crud_collection_protocol_create_audit", - "crud_collection_protocol_create_collection_protocol", - "crud_collection_protocol_dec", - "crud_collection_protocol_detail_query_with_protocol", - "crud_collection_protocol_detail_to_dict", - "crud_collection_protocol_fmt_dt", - "crud_collection_protocol_format_newborn_info", - "crud_collection_protocol_format_storage_cert_sample_info", - "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_list_audits", - "crud_collection_protocol_list_collection_protocols", - "crud_collection_protocol_list_installment_warning", - "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_sample_type_name_map", - "crud_collection_protocol_lookup_attachment_by_url", - "crud_collection_protocol_migrate_sample_child_refs_on_replace", - "crud_collection_protocol_no_batch_generate_protocol_nos", - "crud_collection_protocol_no_rationale_256", - "crud_collection_protocol_no_rationale_34", - "crud_collection_protocol_normalize_attachment_url_key", - "crud_collection_protocol_normalize_fields", - "crud_collection_protocol_normalize_yyyymmdd_date", - "crud_collection_protocol_optional_decimal", - "crud_collection_protocol_party_customer_map_by_protocol_ids", - "crud_collection_protocol_party_customer_to_dict", - "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_rationale_1", - "crud_collection_protocol_rationale_1113", - "crud_collection_protocol_rationale_125", - "crud_collection_protocol_rationale_1573", - "crud_collection_protocol_rationale_179", - "crud_collection_protocol_rationale_1946", - "crud_collection_protocol_rationale_198", - "crud_collection_protocol_rationale_209", - "crud_collection_protocol_rationale_220", - "crud_collection_protocol_rationale_284", - "crud_collection_protocol_rationale_55", - "crud_collection_protocol_rationale_89", - "crud_collection_protocol_rows_to_payment_detail_dicts", - "crud_collection_protocol_sample_to_dict", - "crud_collection_protocol_save_payment_details", - "crud_collection_protocol_save_sample_transports", - "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_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_upsert_collection_info", - "crud_collection_protocol_upsert_fullmoon_todo", - "crud_collection_protocol_upsert_party_customer", - "crud_collection_protocol_upsert_payment", - "crud_collection_protocol_upsert_storage_cert", - "crud_collection_protocol_user_nick_name_map", - "crud_collection_protocol_validate_sample_codes_not_used", - "crud_production_work_order_rationale_85", - "crud_protocol_donation_convert_active_link_query", - "crud_protocol_donation_convert_assert_biz_no_available", - "crud_protocol_donation_convert_create_convert_link", - "crud_protocol_donation_convert_get_convert_partner", - "crud_protocol_donation_convert_get_partner_sample_codes", - "crud_protocol_donation_convert_has_active_convert_link", - "crud_protocol_donation_convert_py", - "crud_protocol_donation_convert_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_qc_task_rationale_415", - "crud_qc_work_order_create_work_order_from_reception", - "crud_qc_work_order_rationale_231", - "crud_qc_work_order_rationale_466", - "crud_qc_work_order_rationale_575", - "crud_research_donation_convert_from_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_normalize_fields", - "crud_research_donation_rationale_1", - "crud_research_donation_rationale_109", - "crud_research_donation_rationale_1322", - "crud_research_donation_rationale_637", - "crud_research_donation_rationale_706", - "crud_research_donation_rationale_82", - "crud_research_donation_rationale_93", - "crud_research_donation_rationale_939", - "crud_research_donation_resolve_donation_payload", - "crud_research_donation_submit_audit", - "crud_research_donation_update_donation", - "crud_sample_reception_rationale_108", - "crud_sample_reception_rationale_179", - "crud_sample_reception_rationale_254", - "crud_sample_reception_rationale_35", - "crud_sample_reception_rationale_74", - "crud_sample_reception_rationale_825", - "crud_sample_reception_rationale_929", - "crud_sample_reception_rationale_973", - "models_models_bizcellsampletype", - "models_models_bizcollectionhospital", - "models_models_bizcollectionprotocol", - "models_models_bizcollectionprotocolno", - "models_models_bizcollectionregion", - "models_models_bizcustomer", - "models_models_bizprotocolaudit", - "models_models_bizprotocolcollectioninfo", - "models_models_bizprotocolfullmoontodo", - "models_models_bizprotocolpartycustomer", - "models_models_bizprotocolpayment", - "models_models_bizprotocolpaymentdetail", - "models_models_bizprotocolsample", - "models_models_bizprotocolsampletransport", - "models_models_bizprotocolstoragecert", - "models_models_bizqcworkorder", - "models_models_bizsamplecode", - "models_models_bizsamplereception", - "models_research_donation_bizprotocoldonationconvert", - "models_research_donation_bizresearchdonation", - "models_research_donation_bizresearchdonationaudit", - "models_research_donation_bizresearchdonationcollection", - "models_research_donation_bizresearchdonationparty", - "models_research_donation_bizresearchdonationsample", - "models_research_donation_bizresearchdonationsampletransport", - "models_research_donation_py", - "models_research_donation_rationale_10", - "models_research_donation_rationale_102", - "models_research_donation_rationale_126", - "models_research_donation_rationale_155", - "models_research_donation_rationale_183", - "models_research_donation_rationale_43", - "models_research_donation_rationale_64" + "core_data_scope_apply_data_scope", + "core_data_scope_get_child_dept_ids", + "core_data_scope_get_user_dept_id", + "core_data_scope_py", + "core_data_scope_resolve_user_role_scopes", + "core_utils_generate_uuid", + "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_clean_room_access_log_to_dict", + "crud_clean_room_create_access_log", + "crud_clean_room_create_clean_room", + "crud_clean_room_get_access_log", + "crud_clean_room_get_clean_room", + "crud_clean_room_list_access_logs", + "crud_clean_room_list_clean_rooms", + "crud_clean_room_py", + "crud_clean_room_room_code_exists", + "crud_clean_room_row_to_dict", + "crud_clean_room_soft_delete_access_log", + "crud_clean_room_soft_delete_clean_room", + "crud_clean_room_total_pages", + "crud_clean_room_update_access_log", + "crud_clean_room_update_clean_room", + "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_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_pilot_service_activate_channel_agreement", + "crud_pilot_service_cell_product_price_code_exists", + "crud_pilot_service_cell_product_spec_code_exists", + "crud_pilot_service_cell_product_type_code_exists", + "crud_pilot_service_channel_agreement_price_exists", + "crud_pilot_service_channel_agreement_price_item_key", + "crud_pilot_service_checkup_package_code_exists", + "crud_pilot_service_create_cell_product_price", + "crud_pilot_service_create_cell_product_spec", + "crud_pilot_service_create_cell_product_type", + "crud_pilot_service_create_channel", + "crud_pilot_service_create_channel_agreement", + "crud_pilot_service_create_channel_agreement_price", + "crud_pilot_service_create_channel_invoice", + "crud_pilot_service_create_channel_mail_address", + "crud_pilot_service_create_checkup_institution", + "crud_pilot_service_create_checkup_institution_invoice", + "crud_pilot_service_create_checkup_institution_package", + "crud_pilot_service_create_checkup_institution_project", + "crud_pilot_service_create_project_system", + "crud_pilot_service_create_project_system_item", + "crud_pilot_service_get_cell_product_price", + "crud_pilot_service_get_cell_product_spec", + "crud_pilot_service_get_cell_product_type", + "crud_pilot_service_get_channel", + "crud_pilot_service_get_checkup_institution", + "crud_pilot_service_get_checkup_institution_package", + "crud_pilot_service_get_checkup_institution_package_detail", + "crud_pilot_service_get_checkup_project_for_package", + "crud_pilot_service_get_project_system", + "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_agreements", + "crud_pilot_service_list_channel_invoices", + "crud_pilot_service_list_channel_mail_addresses", + "crud_pilot_service_list_channels", + "crud_pilot_service_list_checkup_institution_invoices", + "crud_pilot_service_list_checkup_institution_packages", + "crud_pilot_service_list_checkup_institution_projects", + "crud_pilot_service_list_checkup_institutions", + "crud_pilot_service_list_package_items_raw", + "crud_pilot_service_list_project_system_items", + "crud_pilot_service_list_project_systems", + "crud_pilot_service_package_items_to_dicts", + "crud_pilot_service_project_system_code_exists", + "crud_pilot_service_py", + "crud_pilot_service_rationale_1280", + "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_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_package", + "crud_pilot_service_row_to_dict_checkup_institution_package_item", + "crud_pilot_service_row_to_dict_checkup_institution_project", + "crud_pilot_service_row_to_dict_project_system", + "crud_pilot_service_row_to_dict_project_system_item", + "crud_pilot_service_soft_delete_cell_product_price", + "crud_pilot_service_soft_delete_cell_product_spec", + "crud_pilot_service_soft_delete_cell_product_type", + "crud_pilot_service_soft_delete_channel", + "crud_pilot_service_soft_delete_channel_agreement", + "crud_pilot_service_soft_delete_channel_agreement_price", + "crud_pilot_service_soft_delete_channel_invoice", + "crud_pilot_service_soft_delete_channel_mail_address", + "crud_pilot_service_soft_delete_checkup_institution", + "crud_pilot_service_soft_delete_checkup_institution_invoice", + "crud_pilot_service_soft_delete_checkup_institution_package", + "crud_pilot_service_soft_delete_checkup_institution_project", + "crud_pilot_service_soft_delete_project_system", + "crud_pilot_service_soft_delete_project_system_item", + "crud_pilot_service_sum_package_item_fees", + "crud_pilot_service_total_pages", + "crud_pilot_service_update_cell_product_price", + "crud_pilot_service_update_cell_product_spec", + "crud_pilot_service_update_cell_product_type", + "crud_pilot_service_update_channel", + "crud_pilot_service_update_channel_agreement", + "crud_pilot_service_update_channel_agreement_price", + "crud_pilot_service_update_channel_invoice", + "crud_pilot_service_update_channel_mail_address", + "crud_pilot_service_update_checkup_institution", + "crud_pilot_service_update_checkup_institution_invoice", + "crud_pilot_service_update_checkup_institution_package", + "crud_pilot_service_update_checkup_institution_project", + "crud_pilot_service_update_project_system", + "crud_pilot_service_update_project_system_item", + "crud_pilot_service_validate_package_items_for_save", + "crud_pilot_service_void_channel_agreement", + "crud_process_route_add_step", + "crud_process_route_copy_step", + "crud_process_route_create_route", + "crud_process_route_create_step_consumable", + "crud_process_route_create_step_data_collection", + "crud_process_route_create_step_output", + "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", + "crud_process_route_soft_delete_sub_records", + "crud_process_route_step_consumable_row_to_dict", + "crud_process_route_step_data_collection_row_to_dict", + "crud_process_route_step_output_row_to_dict", + "crud_process_route_step_reagent_row_to_dict", + "crud_process_route_step_row_to_dict", + "crud_process_route_total_pages", + "crud_process_route_update_route", + "crud_process_route_update_step_consumables", + "crud_process_route_update_step_data_collections", + "crud_process_route_update_step_outputs", + "crud_process_route_update_step_reagents", + "crud_production_task_add_task_step", + "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_create_production_task", + "crud_production_task_delete_task_step", + "crud_production_task_fmt_dt", + "crud_production_task_generate_task_no", + "crud_production_task_get_production_task_detail", + "crud_production_task_list_production_tasks", + "crud_production_task_py", + "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_set_task_inputs", + "crud_production_task_set_task_outputs", + "crud_production_task_soft_delete_sub", + "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_total_pages", + "crud_production_task_update_production_task", + "crud_production_task_update_task_status", + "crud_production_work_order_complete_production_work_order", + "crud_production_work_order_create_production_work_order_from_reception", + "crud_production_work_order_fmt_dt", + "crud_production_work_order_generate_work_order_no", + "crud_production_work_order_get_production_work_order", + "crud_production_work_order_list_production_work_orders", + "crud_production_work_order_py", + "crud_production_work_order_wo_to_dict", + "crud_qc_lab_test_item_create_lab_item", + "crud_qc_lab_test_item_get_lab_item", + "crud_qc_lab_test_item_item_code_exists", + "crud_qc_lab_test_item_list_active_lab_items", + "crud_qc_lab_test_item_list_lab_items", + "crud_qc_lab_test_item_py", + "crud_qc_lab_test_item_row_to_dict", + "crud_qc_lab_test_item_soft_delete_lab_item", + "crud_qc_lab_test_item_update_lab_item", + "crud_qc_material_code_exists", + "crud_qc_material_create_material", + "crud_qc_material_dec", + "crud_qc_material_fmt_dt", + "crud_qc_material_get_material", + "crud_qc_material_list_materials", + "crud_qc_material_options_list", + "crud_qc_material_py", + "crud_qc_material_row_to_dict", + "crud_qc_material_soft_delete_material", + "crud_qc_material_stock_in", + "crud_qc_material_total_pages", + "crud_qc_material_update_material", + "crud_qc_material_usage_list_usages", + "crud_qc_material_usage_py", + "crud_qc_material_usage_row_to_dict", + "crud_workflow_list_completed_tasks", + "crud_workflow_list_pending_tasks", + "crud_workflow_task_row_to_dict" ], "3": [ + "api_insurance_company_insurancecompanycreatebody", + "api_insurance_company_insurancecompanyinvoicecreatebody", + "api_insurance_company_insurancecompanyinvoiceupdatebody", + "api_insurance_company_insurancecompanyupdatebody", + "api_insurance_company_insuranceprojectpricecreatebody", + "api_insurance_company_insuranceprojectpriceupdatebody", + "api_insurance_company_rationale_1", "api_operations_accesslogcreatebody", "api_operations_accesslogupdatebody", "api_operations_cleanroomcreatebody", @@ -1005,17 +1100,15 @@ "api_operations_storageslotcreatebody", "api_operations_storageslotinsertrowbody", "api_operations_storageslotupdatebody", - "api_workflow_processdefcreatebody", - "api_workflow_processdefupdatebody", - "api_workflow_publishversionbody", - "api_workflow_rationale_135", - "api_workflow_startinstancebody", - "api_workflow_taskactionbody", "base", "crud_api_request_log_apirequestlogcrud", "crud_clean_room_rationale_1", "crud_consumable_pack_rationale_1", "crud_dict_type_rationale_1", + "crud_material_batch_stock_in", + "crud_material_batch_stock_out", + "crud_material_rationale_328", + "crud_material_rationale_475", "crud_pilot_service_rationale_1", "crud_pilot_service_rationale_1301", "crud_process_rationale_1", @@ -1026,16 +1119,11 @@ "crud_qc_task_result_rationale_43", "crud_qc_task_result_rationale_96", "crud_role_rationale_1", - "crud_sample_reception_check_result_rationale_108", - "crud_sample_reception_check_result_rationale_133", - "crud_sample_reception_check_result_rationale_171", "crud_storage_facility_rationale_1", "crud_storage_facility_rationale_165", "crud_storage_facility_rationale_41", "crud_storage_facility_rationale_63", "crud_storage_facility_rationale_79", - "crud_workflow_publish_version", - "crud_workflow_rationale_1", "models_material_bizmaterial", "models_material_bizmaterialstocklog", "models_material_py", @@ -1061,7 +1149,9 @@ "models_models_bizconsumablepack", "models_models_bizconsumablepackitem", "models_models_bizexhibitionappointment", - "models_models_bizexpresscompany", + "models_models_bizinsurancecompany", + "models_models_bizinsurancecompanyinvoice", + "models_models_bizinsuranceprojectprice", "models_models_bizitemunit", "models_models_bizleaverequest", "models_models_bizoutputtype", @@ -1094,7 +1184,6 @@ "models_models_bizqcworkorderthirditem", "models_models_bizreagent", "models_models_bizsamplereceptioncheckitem", - "models_models_bizsamplereceptioncheckresult", "models_models_bizsopdocument", "models_models_bizstoragefacility", "models_models_bizstoragefacilityslot", @@ -1194,11 +1283,8 @@ "models_models_sysuserpost", "models_models_sysuserrole", "models_models_userrole", - "models_models_wfnode", - "models_models_wfprocessdef", "models_models_wfprocessinstance", "models_models_wfprocessversion", - "models_models_wftask", "models_models_wftransition", "models_qc_material_bizqcmaterial", "models_qc_material_bizqcmaterialusage", @@ -1209,141 +1295,199 @@ "services_web_auth_roles_rationale_1", "services_web_auth_roles_rationale_14", "services_web_auth_roles_rationale_26", - "services_web_auth_roles_rationale_54", - "services_workflow_engine_rationale_1", - "services_workflow_engine_workflowengine", - "services_workflow_engine_workflowengine_init" + "services_web_auth_roles_rationale_54" ], "4": [ - "api_ethnic_list_ethnics_for_select", - "api_ethnic_py", + "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_py", + "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_collection_protocol_auditcreatebody", + "api_collection_protocol_batchdetailidsbody", + "api_collection_protocol_batchrefundfinancesubmitbody", + "api_collection_protocol_financeconfirmbody", + "api_collection_protocol_fullmoontodoinsurancebody", + "api_collection_protocol_protocolcreatebody", + "api_collection_protocol_protocolupdatebody", + "api_collection_protocol_rationale_1", + "api_collection_protocol_rationale_68", + "api_collection_protocol_refundfinanceconfirmbody", + "api_collection_protocol_refundfinancesubmitbody", + "crud_collection_protocol_no_batch_generate_protocol_nos", + "crud_collection_protocol_no_rationale_256", + "crud_collection_protocol_no_rationale_34", + "crud_collection_protocol_rationale_1", + "crud_collection_protocol_rationale_1113", + "crud_collection_protocol_rationale_125", + "crud_collection_protocol_rationale_1573", + "crud_collection_protocol_rationale_179", + "crud_collection_protocol_rationale_1946", + "crud_collection_protocol_rationale_198", + "crud_collection_protocol_rationale_209", + "crud_collection_protocol_rationale_220", + "crud_collection_protocol_rationale_284", + "crud_collection_protocol_rationale_55", + "crud_collection_protocol_rationale_89", + "crud_production_work_order_rationale_85", + "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_qc_task_rationale_415", + "crud_qc_work_order_create_work_order_from_reception", + "crud_qc_work_order_rationale_231", + "crud_qc_work_order_rationale_466", + "crud_qc_work_order_rationale_575", + "crud_research_donation_convert_from_storage", + "crud_research_donation_convert_to_storage", + "crud_research_donation_merge_comma_separated_urls", + "crud_research_donation_rationale_1", + "crud_research_donation_rationale_109", + "crud_research_donation_rationale_1322", + "crud_research_donation_rationale_637", + "crud_research_donation_rationale_706", + "crud_research_donation_rationale_82", + "crud_research_donation_rationale_93", + "crud_research_donation_rationale_939", + "crud_research_donation_submit_audit", + "crud_sample_code_batch_generate_sample_codes", + "crud_sample_code_rationale_240", + "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", + "crud_sample_reception_create_sample_reception", + "crud_sample_reception_rationale_108", + "crud_sample_reception_rationale_179", + "crud_sample_reception_rationale_254", + "crud_sample_reception_rationale_35", + "crud_sample_reception_rationale_74", + "crud_sample_reception_rationale_825", + "crud_sample_reception_rationale_929", + "crud_sample_reception_rationale_973", + "crud_sample_reception_update_sample_reception", + "models_models_bizcellsampletype", + "models_models_bizcollectionhospital", + "models_models_bizcollectionprotocol", + "models_models_bizcollectionprotocolno", + "models_models_bizcollectionregion", + "models_models_bizcustomer", + "models_models_bizexpresscompany", + "models_models_bizprotocolaudit", + "models_models_bizprotocolcollectioninfo", + "models_models_bizprotocolfullmoontodo", + "models_models_bizprotocolpartycustomer", + "models_models_bizprotocolpayment", + "models_models_bizprotocolpaymentdetail", + "models_models_bizprotocolsample", + "models_models_bizprotocolsampletransport", + "models_models_bizprotocolstoragecert", + "models_models_bizqcworkorder", + "models_models_bizsamplecode", + "models_models_bizsamplereception", + "models_models_bizsamplereceptioncheckresult", + "models_research_donation_bizprotocoldonationconvert", + "models_research_donation_bizresearchdonation", + "models_research_donation_bizresearchdonationaudit", + "models_research_donation_bizresearchdonationcollection", + "models_research_donation_bizresearchdonationparty", + "models_research_donation_bizresearchdonationsample", + "models_research_donation_bizresearchdonationsampletransport", + "models_research_donation_py", + "models_research_donation_rationale_10", + "models_research_donation_rationale_102", + "models_research_donation_rationale_126", + "models_research_donation_rationale_155", + "models_research_donation_rationale_183", + "models_research_donation_rationale_43", + "models_research_donation_rationale_64" + ], + "5": [ "api_workflow_get_designer_data", - "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_delete", - "crud_api_request_log_get", - "crud_api_request_log_get_multi_with_filters", - "crud_api_request_log_py", - "crud_base_crudbase_count", - "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_pilot_service_activate_channel_agreement", - "crud_pilot_service_cell_product_price_code_exists", - "crud_pilot_service_cell_product_spec_code_exists", - "crud_pilot_service_cell_product_type_code_exists", - "crud_pilot_service_channel_agreement_price_exists", - "crud_pilot_service_channel_agreement_price_item_key", - "crud_pilot_service_checkup_package_code_exists", - "crud_pilot_service_create_cell_product_price", - "crud_pilot_service_create_cell_product_spec", - "crud_pilot_service_create_cell_product_type", - "crud_pilot_service_create_channel", - "crud_pilot_service_create_channel_agreement", - "crud_pilot_service_create_channel_agreement_price", - "crud_pilot_service_create_channel_mail_address", - "crud_pilot_service_create_checkup_institution", - "crud_pilot_service_create_checkup_institution_invoice", - "crud_pilot_service_create_checkup_institution_package", - "crud_pilot_service_create_checkup_institution_project", - "crud_pilot_service_create_project_system", - "crud_pilot_service_get_cell_product_price", - "crud_pilot_service_get_cell_product_spec", - "crud_pilot_service_get_cell_product_type", - "crud_pilot_service_get_channel", - "crud_pilot_service_get_checkup_institution", - "crud_pilot_service_get_checkup_institution_package", - "crud_pilot_service_get_checkup_institution_package_detail", - "crud_pilot_service_get_checkup_project_for_package", - "crud_pilot_service_get_project_system", - "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_agreements", - "crud_pilot_service_list_channel_invoices", - "crud_pilot_service_list_channel_mail_addresses", - "crud_pilot_service_list_channels", - "crud_pilot_service_list_checkup_institution_invoices", - "crud_pilot_service_list_checkup_institution_packages", - "crud_pilot_service_list_checkup_institution_projects", - "crud_pilot_service_list_checkup_institutions", - "crud_pilot_service_list_package_items_raw", - "crud_pilot_service_list_project_system_items", - "crud_pilot_service_list_project_systems", - "crud_pilot_service_package_items_to_dicts", - "crud_pilot_service_project_system_code_exists", - "crud_pilot_service_py", - "crud_pilot_service_rationale_1280", - "crud_pilot_service_row_to_dict_channel", - "crud_pilot_service_row_to_dict_checkup_institution_package", - "crud_pilot_service_row_to_dict_checkup_institution_package_item", - "crud_pilot_service_soft_delete_cell_product_price", - "crud_pilot_service_soft_delete_cell_product_spec", - "crud_pilot_service_soft_delete_cell_product_type", - "crud_pilot_service_soft_delete_channel", - "crud_pilot_service_soft_delete_channel_agreement", - "crud_pilot_service_soft_delete_channel_agreement_price", - "crud_pilot_service_soft_delete_channel_invoice", - "crud_pilot_service_soft_delete_channel_mail_address", - "crud_pilot_service_soft_delete_checkup_institution", - "crud_pilot_service_soft_delete_checkup_institution_invoice", - "crud_pilot_service_soft_delete_checkup_institution_package", - "crud_pilot_service_soft_delete_checkup_institution_project", - "crud_pilot_service_soft_delete_project_system", - "crud_pilot_service_soft_delete_project_system_item", - "crud_pilot_service_sum_package_item_fees", - "crud_pilot_service_total_pages", - "crud_pilot_service_update_cell_product_price", - "crud_pilot_service_update_cell_product_spec", - "crud_pilot_service_update_cell_product_type", - "crud_pilot_service_update_channel", - "crud_pilot_service_update_channel_agreement", - "crud_pilot_service_update_channel_agreement_price", - "crud_pilot_service_update_channel_invoice", - "crud_pilot_service_update_channel_mail_address", - "crud_pilot_service_update_checkup_institution", - "crud_pilot_service_update_checkup_institution_invoice", - "crud_pilot_service_update_checkup_institution_package", - "crud_pilot_service_update_checkup_institution_project", - "crud_pilot_service_update_project_system", - "crud_pilot_service_update_project_system_item", - "crud_pilot_service_validate_package_items_for_save", - "crud_pilot_service_void_channel_agreement", - "crud_qc_item_param_list_params_by_item", - "crud_qc_item_param_py", - "crud_qc_item_param_row_to_dict", - "crud_qc_item_param_save_params_for_item", - "crud_qc_lab_test_item_create_lab_item", - "crud_qc_lab_test_item_get_lab_item", - "crud_qc_lab_test_item_item_code_exists", - "crud_qc_lab_test_item_list_active_lab_items", - "crud_qc_lab_test_item_list_lab_items", - "crud_qc_lab_test_item_py", - "crud_qc_lab_test_item_row_to_dict", - "crud_qc_lab_test_item_soft_delete_lab_item", - "crud_qc_lab_test_item_update_lab_item", - "crud_qc_material_usage_list_usages", - "crud_qc_material_usage_py", - "crud_qc_material_usage_row_to_dict", + "core_api_request_log_middleware_apirequestlogmiddleware", + "core_api_request_log_middleware_apirequestlogmiddleware_dispatch", + "core_api_request_log_middleware_claims_from_auth", + "core_api_request_log_middleware_format_body_bytes", + "core_api_request_log_middleware_persist_log", + "core_api_request_log_middleware_py", + "core_api_request_log_middleware_rationale_1", + "core_api_request_log_middleware_redact_obj", + "core_api_request_log_middleware_schedule_persist_log", + "core_api_request_log_middleware_should_skip", + "core_api_request_log_middleware_truncate", + "core_storage_basestorage", + "core_storage_basestorage_delete_file", + "core_storage_basestorage_get_url", + "core_storage_basestorage_presigned_download_url", + "core_storage_basestorage_upload_base64", + "core_storage_basestorage_upload_file", + "core_storage_convert_heic_to_jpeg", + "core_storage_get_storage", + "core_storage_localstorage", + "core_storage_localstorage_delete_file", + "core_storage_localstorage_ensure_dir", + "core_storage_localstorage_generate_filename", + "core_storage_localstorage_get_url", + "core_storage_localstorage_init", + "core_storage_localstorage_upload_base64", + "core_storage_localstorage_upload_file", + "core_storage_miniostorage", + "core_storage_miniostorage_delete_file", + "core_storage_miniostorage_extract_object_key", + "core_storage_miniostorage_generate_filename", + "core_storage_miniostorage_get_url", + "core_storage_miniostorage_init", + "core_storage_miniostorage_presigned_download_url", + "core_storage_miniostorage_upload_base64", + "core_storage_miniostorage_upload_file", + "core_storage_ossstorage", + "core_storage_ossstorage_delete_file", + "core_storage_ossstorage_generate_filename", + "core_storage_ossstorage_get_url", + "core_storage_ossstorage_init", + "core_storage_ossstorage_upload_base64", + "core_storage_ossstorage_upload_file", + "core_storage_process_image_content", + "core_storage_py", + "core_storage_qiniustorage", + "core_storage_qiniustorage_delete_file", + "core_storage_qiniustorage_generate_filename", + "core_storage_qiniustorage_get_url", + "core_storage_qiniustorage_init", + "core_storage_qiniustorage_upload_base64", + "core_storage_qiniustorage_upload_file", + "core_storage_rationale_1", + "core_storage_rationale_345", + "core_storage_rationale_38", + "core_storage_rationale_53", + "core_storage_rationale_83", "crud_qc_task_result_list_results_by_task", "crud_qc_task_result_list_saved_results_by_task", "crud_qc_task_result_merge_saved_into_template", @@ -1351,9 +1495,9 @@ "crud_qc_task_result_resolve_task_item_ref", "crud_qc_task_result_row_to_dict", "crud_qc_task_result_save_results_for_task", - "crud_qc_work_order_gen_daily_no", "crud_workflow_create_instance", "crud_workflow_create_process_def", + "crud_workflow_create_task", "crud_workflow_get_all_tasks_for_business", "crud_workflow_get_instance", "crud_workflow_get_latest_version", @@ -1362,20 +1506,19 @@ "crud_workflow_get_process_def", "crud_workflow_get_task", "crud_workflow_get_transitions_by_version", - "crud_workflow_list_completed_tasks", "crud_workflow_list_my_instances", - "crud_workflow_list_pending_tasks", "crud_workflow_list_process_defs", "crud_workflow_list_versions", "crud_workflow_process_code_exists", + "crud_workflow_publish_version", "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", "crud_workflow_version_to_dict", + "exception", "services_workflow_callback_dispatch_local", "services_workflow_callback_py", "services_workflow_callback_rationale_1", @@ -1389,134 +1532,66 @@ "services_workflow_engine_parse_node_config", "services_workflow_engine_parse_variables", "services_workflow_engine_py", + "services_workflow_engine_workflowengine", "services_workflow_engine_workflowengine_advance", "services_workflow_engine_workflowengine_approve_task", "services_workflow_engine_workflowengine_check_rules", "services_workflow_engine_workflowengine_evaluate_condition", "services_workflow_engine_workflowengine_execute_node", + "services_workflow_engine_workflowengine_init", "services_workflow_engine_workflowengine_reject_task", + "services_workflow_engine_workflowengine_resolve_approvers", "services_workflow_engine_workflowengine_start_process" ], - "5": [ - "core_utils_generate_uuid", - "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_material_code_exists", - "crud_material_create_material", - "crud_material_dec", - "crud_material_fmt_dt", - "crud_material_get_material", - "crud_material_list_materials", - "crud_material_options_list", - "crud_material_py", - "crud_material_row_to_dict", - "crud_material_soft_delete_material", - "crud_material_stock_in", - "crud_material_stock_out", - "crud_material_update_material", - "crud_pilot_service_create_channel_invoice", - "crud_pilot_service_create_project_system_item", - "crud_process_consumable_row_to_dict", - "crud_process_create_process", - "crud_process_create_sub_consumable", - "crud_process_create_sub_data_collection", - "crud_process_create_sub_output", - "crud_process_create_sub_reagent", - "crud_process_data_collection_row_to_dict", - "crud_process_get_process", - "crud_process_get_process_detail", - "crud_process_list_all_processes", - "crud_process_list_processes", - "crud_process_output_row_to_dict", - "crud_process_process_code_exists", - "crud_process_py", - "crud_process_reagent_row_to_dict", - "crud_process_route_add_step", - "crud_process_route_copy_step", - "crud_process_route_create_route", - "crud_process_route_create_step_consumable", - "crud_process_route_create_step_data_collection", - "crud_process_route_create_step_output", - "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", - "crud_process_route_soft_delete_sub_records", - "crud_process_route_step_consumable_row_to_dict", - "crud_process_route_step_data_collection_row_to_dict", - "crud_process_route_step_output_row_to_dict", - "crud_process_route_step_reagent_row_to_dict", - "crud_process_route_step_row_to_dict", - "crud_process_route_total_pages", - "crud_process_route_update_route", - "crud_process_route_update_step_consumables", - "crud_process_route_update_step_data_collections", - "crud_process_route_update_step_outputs", - "crud_process_route_update_step_reagents", - "crud_process_row_to_dict", - "crud_process_soft_delete_process", - "crud_process_soft_delete_sub_records", - "crud_process_total_pages", - "crud_process_update_process", - "crud_production_task_add_task_step", - "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_create_production_task", - "crud_production_task_delete_task_step", - "crud_production_task_fmt_dt", - "crud_production_task_generate_task_no", - "crud_production_task_get_production_task_detail", - "crud_production_task_list_production_tasks", - "crud_production_task_py", - "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_set_task_inputs", - "crud_production_task_set_task_outputs", - "crud_production_task_soft_delete_sub", - "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_total_pages", - "crud_production_task_update_production_task", - "crud_production_task_update_task_status", - "crud_qc_material_code_exists", - "crud_qc_material_create_material", - "crud_qc_material_dec", - "crud_qc_material_fmt_dt", - "crud_qc_material_get_material", - "crud_qc_material_list_materials", - "crud_qc_material_options_list", - "crud_qc_material_py", - "crud_qc_material_row_to_dict", - "crud_qc_material_soft_delete_material", - "crud_qc_material_stock_in", - "crud_qc_material_total_pages", - "crud_qc_material_update_material", + "6": [ + "api_admin_get_role_data_scope", + "api_admin_get_role_menus", + "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_py", + "crud_base_camel_to_snake", + "crud_base_crudbase", + "crud_base_crudbase_create", + "crud_base_crudbase_delete", + "crud_base_crudbase_get_all", + "crud_base_crudbase_get_multi", + "crud_base_crudbase_hard_delete", + "crud_base_crudbase_init", + "crud_base_crudbase_update", + "crud_base_get_model_attr", + "crud_base_historycrud", + "crud_base_historycrud_create_history", + "crud_base_py", + "crud_collection_protocol_get_protocol_nos_used_in_protocols", + "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_row_to_dict", + "crud_dict_type_soft_delete_dict_type", + "crud_dict_type_total_pages", + "crud_dict_type_update_dict_type", + "crud_qc_item_param_list_params_by_item", + "crud_qc_item_param_py", + "crud_qc_item_param_row_to_dict", + "crud_qc_item_param_save_params_for_item", + "crud_role_create_role", + "crud_role_get_role", + "crud_role_get_role_data_scope", + "crud_role_get_role_menu_ids", + "crud_role_list_roles", + "crud_role_py", + "crud_role_role_name_exists", + "crud_role_row_to_dict", + "crud_role_soft_delete_role", + "crud_role_total_pages", + "crud_role_update_role", + "crud_role_update_role_data_scope", + "crud_role_update_role_menus", "crud_storage_facility_batch_create_slots", "crud_storage_facility_clear_slots_by_facility_node", "crud_storage_facility_collect_descendant_ids", @@ -1543,6 +1618,9 @@ "crud_user_list_user_ids_bound_to_post", "crud_user_list_users", "crud_user_py", + "crud_user_rationale_1", + "crud_user_rationale_134", + "crud_user_rationale_181", "crud_user_replace_associations", "crud_user_reset_password", "crud_user_row_to_dict", @@ -1551,21 +1629,95 @@ "crud_user_sync_post_user_bindings", "crud_user_total_pages", "crud_user_update_user", - "crud_user_user_no_exists" + "crud_user_user_no_exists", + "crud_user_usercrudcompat", + "crud_user_usercrudcompat_get_by_user_no" ], - "6": [ - "crud_base_crudbase_update", + "7": [ + "api_collection_protocol_persist_protocol_sub_resources", + "crud_collection_protocol_add_months_yyyymmdd", + "crud_collection_protocol_align_fq_payment_details_payload", + "crud_collection_protocol_apply_submit_receipt_finance", + "crud_collection_protocol_apply_submit_refund_finance", + "crud_collection_protocol_attachments_to_urls", + "crud_collection_protocol_audit_to_dict", + "crud_collection_protocol_batch_submit_receipt_finance", + "crud_collection_protocol_batch_submit_refund_finance", + "crud_collection_protocol_calc_installment_due_amounts", + "crud_collection_protocol_classify_installment_warning", + "crud_collection_protocol_collection_info_to_dict", + "crud_collection_protocol_confirm_receipt", + "crud_collection_protocol_confirm_refund", + "crud_collection_protocol_create_audit", + "crud_collection_protocol_create_collection_protocol", + "crud_collection_protocol_dec", + "crud_collection_protocol_detail_query_with_protocol", + "crud_collection_protocol_detail_to_dict", + "crud_collection_protocol_fmt_dt", + "crud_collection_protocol_format_newborn_info", + "crud_collection_protocol_format_storage_cert_sample_info", + "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_list_audits", + "crud_collection_protocol_list_collection_protocols", + "crud_collection_protocol_list_installment_warning", + "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_sample_type_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_fields", + "crud_collection_protocol_normalize_yyyymmdd_date", + "crud_collection_protocol_optional_decimal", + "crud_collection_protocol_party_customer_map_by_protocol_ids", + "crud_collection_protocol_party_customer_to_dict", + "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_rows_to_payment_detail_dicts", + "crud_collection_protocol_sample_to_dict", + "crud_collection_protocol_save_payment_details", + "crud_collection_protocol_save_sample_transports", + "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_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_upsert_collection_info", + "crud_collection_protocol_upsert_fullmoon_todo", + "crud_collection_protocol_upsert_party_customer", + "crud_collection_protocol_upsert_payment", + "crud_collection_protocol_upsert_storage_cert", + "crud_collection_protocol_user_nick_name_map", + "crud_collection_protocol_validate_sample_codes_not_used", + "crud_protocol_donation_convert_assert_biz_no_available" + ], + "8": [ "crud_collection_protocol_format_attachment_file_size", - "crud_collection_protocol_get_protocol_nos_used_in_protocols", "crud_collection_protocol_urls_to_attachment_list", - "crud_production_work_order_complete_production_work_order", - "crud_production_work_order_create_production_work_order_from_reception", - "crud_production_work_order_fmt_dt", - "crud_production_work_order_generate_work_order_no", - "crud_production_work_order_get_production_work_order", - "crud_production_work_order_list_production_work_orders", - "crud_production_work_order_py", - "crud_production_work_order_wo_to_dict", "crud_qc_task_apply_task_result", "crud_qc_task_complete_task", "crud_qc_task_conclusion_label", @@ -1590,6 +1742,7 @@ "crud_qc_work_order_dec", "crud_qc_work_order_enrich_work_order_list_items", "crud_qc_work_order_fmt_dt", + "crud_qc_work_order_gen_daily_no", "crud_qc_work_order_get_qc_info_map_for_samples", "crud_qc_work_order_get_work_order", "crud_qc_work_order_get_work_order_detail", @@ -1606,27 +1759,11 @@ "crud_qc_work_order_try_complete_work_order", "crud_qc_work_order_wo_to_dict", "crud_qc_work_order_work_order_qc_biz_type", - "crud_role_create_role", - "crud_role_get_role", - "crud_role_get_role_data_scope", - "crud_role_get_role_menu_ids", - "crud_role_list_roles", - "crud_role_py", - "crud_role_role_name_exists", - "crud_role_row_to_dict", - "crud_role_soft_delete_role", - "crud_role_total_pages", - "crud_role_update_role", - "crud_role_update_role_data_scope", "crud_sample_reception_check_result_get_check_results_for_reception", "crud_sample_reception_check_result_legacy_results_from_reception", "crud_sample_reception_check_result_list_results_by_reception_ids", "crud_sample_reception_check_result_py", "crud_sample_reception_check_result_result_to_dict", - "crud_sample_reception_check_result_save_reception_check_results", - "crud_sample_reception_check_result_soft_delete_reception_check_results", - "crud_sample_reception_check_result_sync_legacy_columns_from_results", - "crud_sample_reception_create_sample_reception", "crud_sample_reception_dec", "crud_sample_reception_donation_rows_to_sample_list_items", "crud_sample_reception_donation_sample_detail_rows_query", @@ -1645,10 +1782,18 @@ "crud_sample_reception_rows_to_sample_list_items", "crud_sample_reception_sample_detail_rows_query", "crud_sample_reception_sample_pending_query", - "crud_sample_reception_update_sample_reception" + "crud_sop_document_create_sop_document", + "crud_sop_document_get_sop_document", + "crud_sop_document_list_sop_documents", + "crud_sop_document_py", + "crud_sop_document_rationale_1", + "crud_sop_document_row_to_dict", + "crud_sop_document_soft_delete_sop_document", + "crud_sop_document_sop_code_exists", + "crud_sop_document_total_pages", + "crud_sop_document_update_sop_document" ], - "7": [ - "api_admin_list_roles_for_select", + "9": [ "api_public_avatar_url_field", "api_public_build_user_info_payload", "api_public_get_web_auth_menu_codes", @@ -1711,27 +1856,7 @@ "core_security_py", "core_security_rationale_5", "core_security_verify_password", - "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_py", - "crud_base_camel_to_snake", - "crud_base_crudbase", - "crud_base_crudbase_create", - "crud_base_crudbase_delete", "crud_base_crudbase_exists", - "crud_base_crudbase_get_all", - "crud_base_crudbase_get_multi", - "crud_base_crudbase_hard_delete", - "crud_base_crudbase_init", - "crud_base_get_model_attr", - "crud_base_historycrud", - "crud_base_historycrud_create_history", - "crud_base_py", - "crud_role_update_role_menus", - "crud_user_usercrudcompat_get_by_user_no", "main_py", "services_web_auth_roles_iter_user_menu_perm_codes", "services_web_auth_roles_map_role_name_to_web", @@ -1741,78 +1866,7 @@ "tasks_init_py", "tasks_init_shutdown_scheduler" ], - "8": [ - "core_exceptions_businessexception", - "core_exceptions_businessexception_init", - "core_exceptions_invalidstatustransitionexception", - "core_exceptions_invalidstatustransitionexception_init", - "core_exceptions_log_api_request", - "core_exceptions_log_delivery_operation", - "core_exceptions_log_operation", - "core_exceptions_log_order_operation", - "core_exceptions_log_settlement_operation", - "core_exceptions_log_user_operation", - "core_exceptions_orderlockedexception", - "core_exceptions_orderlockedexception_init", - "core_exceptions_permissionexception", - "core_exceptions_permissionexception_init", - "core_exceptions_py", - "core_exceptions_resourceconflictexception", - "core_exceptions_resourceconflictexception_init", - "core_exceptions_resourcenotfoundexception", - "core_exceptions_resourcenotfoundexception_init", - "core_exceptions_validationexception", - "core_exceptions_validationexception_init", - "core_storage_basestorage", - "core_storage_basestorage_delete_file", - "core_storage_basestorage_get_url", - "core_storage_basestorage_presigned_download_url", - "core_storage_basestorage_upload_base64", - "core_storage_basestorage_upload_file", - "core_storage_convert_heic_to_jpeg", - "core_storage_get_storage", - "core_storage_localstorage", - "core_storage_localstorage_delete_file", - "core_storage_localstorage_ensure_dir", - "core_storage_localstorage_generate_filename", - "core_storage_localstorage_get_url", - "core_storage_localstorage_init", - "core_storage_localstorage_upload_base64", - "core_storage_localstorage_upload_file", - "core_storage_miniostorage", - "core_storage_miniostorage_delete_file", - "core_storage_miniostorage_extract_object_key", - "core_storage_miniostorage_generate_filename", - "core_storage_miniostorage_get_url", - "core_storage_miniostorage_init", - "core_storage_miniostorage_presigned_download_url", - "core_storage_miniostorage_upload_base64", - "core_storage_miniostorage_upload_file", - "core_storage_ossstorage", - "core_storage_ossstorage_delete_file", - "core_storage_ossstorage_generate_filename", - "core_storage_ossstorage_get_url", - "core_storage_ossstorage_init", - "core_storage_ossstorage_upload_base64", - "core_storage_ossstorage_upload_file", - "core_storage_process_image_content", - "core_storage_py", - "core_storage_qiniustorage", - "core_storage_qiniustorage_delete_file", - "core_storage_qiniustorage_generate_filename", - "core_storage_qiniustorage_get_url", - "core_storage_qiniustorage_init", - "core_storage_qiniustorage_upload_base64", - "core_storage_qiniustorage_upload_file", - "core_storage_rationale_1", - "core_storage_rationale_345", - "core_storage_rationale_38", - "core_storage_rationale_53", - "core_storage_rationale_83", - "exception", - "services_workflow_engine_workflowengine_resolve_approvers" - ], - "9": [ + "10": [ "api_production_consumablecreatebody", "api_production_consumablepackcreatebody", "api_production_consumablepackupdatebody", @@ -1863,35 +1917,17 @@ "schemas_production_work_order_productionworkorderlistquery", "schemas_production_work_order_py" ], - "10": [ - "api_research_donation_auditsubmitbody", - "api_research_donation_batch_delete_research_donations", - "api_research_donation_batchdeletebody", - "api_research_donation_change_donation_status", - "api_research_donation_convert_from_storage", - "api_research_donation_convert_to_storage", - "api_research_donation_convertfromstoragebody", - "api_research_donation_create_research_donation", - "api_research_donation_delete_research_donation", - "api_research_donation_donationcreatebody", - "api_research_donation_donationupdatebody", - "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_py", - "api_research_donation_rationale_1", - "api_research_donation_statuschangebody", - "api_research_donation_update_research_donation", + "11": [ "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_to_dict", "crud_research_donation_fmt_dt", "crud_research_donation_get_collection", "crud_research_donation_get_donation_detail", @@ -1900,10 +1936,11 @@ "crud_research_donation_list_donations", "crud_research_donation_list_sample_transports", "crud_research_donation_list_samples", - "crud_research_donation_merge_comma_separated_urls", + "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_to_dict", "crud_research_donation_soft_delete_all", "crud_research_donation_soft_delete_collection", @@ -1912,9 +1949,43 @@ "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" ], - "11": [ + "12": [ + "core_wechat_pay_get_wechat_pay_client", + "core_wechat_pay_get_wechat_pay_v2", + "core_wechat_pay_py", + "core_wechat_pay_rationale_1", + "core_wechat_pay_rationale_131", + "core_wechat_pay_rationale_254", + "core_wechat_pay_rationale_410", + "core_wechat_pay_rationale_443", + "core_wechat_pay_rationale_60", + "core_wechat_pay_wechat_pay", + "core_wechat_pay_wechatpayclient", + "core_wechat_pay_wechatpayclient_close_order", + "core_wechat_pay_wechatpayclient_generate_nonce_str", + "core_wechat_pay_wechatpayclient_generate_pay_sign", + "core_wechat_pay_wechatpayclient_generate_sign", + "core_wechat_pay_wechatpayclient_generate_sign_v3", + "core_wechat_pay_wechatpayclient_init", + "core_wechat_pay_wechatpayclient_make_request", + "core_wechat_pay_wechatpayclient_query_order", + "core_wechat_pay_wechatpayclient_refund", + "core_wechat_pay_wechatpayclient_unified_order", + "core_wechat_pay_wechatpayv2client", + "core_wechat_pay_wechatpayv2client_build_miniprogram_pay_params", + "core_wechat_pay_wechatpayv2client_dict_to_xml", + "core_wechat_pay_wechatpayv2client_generate_sign", + "core_wechat_pay_wechatpayv2client_init", + "core_wechat_pay_wechatpayv2client_parse_notify", + "core_wechat_pay_wechatpayv2client_query_order", + "core_wechat_pay_wechatpayv2client_refund", + "core_wechat_pay_wechatpayv2client_unified_order", + "core_wechat_pay_wechatpayv2client_xml_to_dict" + ], + "13": [ "basehttpmiddleware", "core_admin_request_json_parse_admin_request_json", "core_admin_request_json_py", @@ -1942,88 +2013,35 @@ "core_api_crypto_middleware_rationale_38", "core_api_crypto_middleware_should_skip_path", "core_api_crypto_py", - "core_api_request_log_middleware_apirequestlogmiddleware", - "core_api_request_log_middleware_apirequestlogmiddleware_dispatch", - "core_api_request_log_middleware_claims_from_auth", - "core_api_request_log_middleware_format_body_bytes", - "core_api_request_log_middleware_persist_log", - "core_api_request_log_middleware_py", - "core_api_request_log_middleware_rationale_1", - "core_api_request_log_middleware_redact_obj", - "core_api_request_log_middleware_schedule_persist_log", - "core_api_request_log_middleware_should_skip", - "core_api_request_log_middleware_truncate", "core_request_payload_py", "core_request_payload_rationale_1", "core_request_payload_rationale_18", - "core_request_payload_resolve_request_payload", - "crud_workflow_create_task" - ], - "12": [ - "api_insurance_company_create_insurance_company", - "api_insurance_company_create_insurance_company_invoice", - "api_insurance_company_create_insurance_project_price", - "api_insurance_company_delete_insurance_company", - "api_insurance_company_delete_insurance_company_invoice", - "api_insurance_company_delete_insurance_project_price", - "api_insurance_company_fmt_dt", - "api_insurance_company_generate_uuid", - "api_insurance_company_get_tenant_no", - "api_insurance_company_insurancecompanycreatebody", - "api_insurance_company_insurancecompanyinvoicecreatebody", - "api_insurance_company_insurancecompanyinvoiceupdatebody", - "api_insurance_company_insurancecompanyupdatebody", - "api_insurance_company_insuranceprojectpricecreatebody", - "api_insurance_company_insuranceprojectpriceupdatebody", - "api_insurance_company_list_insurance_companies", - "api_insurance_company_list_insurance_company_invoices", - "api_insurance_company_list_insurance_project_prices", - "api_insurance_company_py", - "api_insurance_company_rationale_1", - "api_insurance_company_row_to_dict_company", - "api_insurance_company_row_to_dict_invoice", - "api_insurance_company_row_to_dict_project_price", - "api_insurance_company_soft_delete_insurance_company", - "api_insurance_company_soft_delete_insurance_company_invoice", - "api_insurance_company_soft_delete_insurance_project_price", - "api_insurance_company_total_pages", - "api_insurance_company_update_insurance_company", - "api_insurance_company_update_insurance_company_invoice", - "api_insurance_company_update_insurance_project_price", - "models_models_bizinsurancecompany", - "models_models_bizinsurancecompanyinvoice", - "models_models_bizinsuranceprojectprice" - ], - "13": [ - "core_wechat_pay_get_wechat_pay_client", - "core_wechat_pay_get_wechat_pay_v2", - "core_wechat_pay_py", - "core_wechat_pay_rationale_1", - "core_wechat_pay_rationale_131", - "core_wechat_pay_rationale_254", - "core_wechat_pay_rationale_60", - "core_wechat_pay_wechat_pay", - "core_wechat_pay_wechatpayclient", - "core_wechat_pay_wechatpayclient_close_order", - "core_wechat_pay_wechatpayclient_generate_nonce_str", - "core_wechat_pay_wechatpayclient_generate_pay_sign", - "core_wechat_pay_wechatpayclient_generate_sign", - "core_wechat_pay_wechatpayclient_generate_sign_v3", - "core_wechat_pay_wechatpayclient_init", - "core_wechat_pay_wechatpayclient_make_request", - "core_wechat_pay_wechatpayclient_query_order", - "core_wechat_pay_wechatpayclient_refund", - "core_wechat_pay_wechatpayclient_unified_order", - "core_wechat_pay_wechatpayv2client", - "core_wechat_pay_wechatpayv2client_dict_to_xml", - "core_wechat_pay_wechatpayv2client_generate_sign", - "core_wechat_pay_wechatpayv2client_init", - "core_wechat_pay_wechatpayv2client_parse_notify", - "core_wechat_pay_wechatpayv2client_query_order", - "core_wechat_pay_wechatpayv2client_refund", - "core_wechat_pay_wechatpayv2client_xml_to_dict" + "core_request_payload_resolve_request_payload" ], "14": [ + "core_exceptions_businessexception", + "core_exceptions_businessexception_init", + "core_exceptions_invalidstatustransitionexception", + "core_exceptions_invalidstatustransitionexception_init", + "core_exceptions_log_api_request", + "core_exceptions_log_delivery_operation", + "core_exceptions_log_operation", + "core_exceptions_log_order_operation", + "core_exceptions_log_settlement_operation", + "core_exceptions_log_user_operation", + "core_exceptions_orderlockedexception", + "core_exceptions_orderlockedexception_init", + "core_exceptions_permissionexception", + "core_exceptions_permissionexception_init", + "core_exceptions_py", + "core_exceptions_resourceconflictexception", + "core_exceptions_resourceconflictexception_init", + "core_exceptions_resourcenotfoundexception", + "core_exceptions_resourcenotfoundexception_init", + "core_exceptions_validationexception", + "core_exceptions_validationexception_init" + ], + "15": [ "crud_qc_third_party_company_company_code_exists", "crud_qc_third_party_company_create_company", "crud_qc_third_party_company_get_company", @@ -2045,40 +2063,27 @@ "crud_qc_third_party_item_soft_delete_item", "crud_qc_third_party_item_update_item" ], - "15": [ - "crud_sample_code_batch_generate_sample_codes", - "crud_sample_code_batch_issue_sample_codes", - "crud_sample_code_batch_revoke_sample_codes", - "crud_sample_code_create_sample_code", - "crud_sample_code_get_sample_code", - "crud_sample_code_list_sample_codes", - "crud_sample_code_parse_issued_time", - "crud_sample_code_py", - "crud_sample_code_rationale_1", - "crud_sample_code_rationale_240", - "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" - ], "16": [ - "crud_clean_room_access_log_to_dict", - "crud_clean_room_create_access_log", - "crud_clean_room_create_clean_room", - "crud_clean_room_get_access_log", - "crud_clean_room_get_clean_room", - "crud_clean_room_list_access_logs", - "crud_clean_room_list_clean_rooms", - "crud_clean_room_py", - "crud_clean_room_room_code_exists", - "crud_clean_room_row_to_dict", - "crud_clean_room_soft_delete_access_log", - "crud_clean_room_soft_delete_clean_room", - "crud_clean_room_total_pages", - "crud_clean_room_update_access_log", - "crud_clean_room_update_clean_room" + "crud_process_consumable_row_to_dict", + "crud_process_create_process", + "crud_process_create_sub_consumable", + "crud_process_create_sub_data_collection", + "crud_process_create_sub_output", + "crud_process_create_sub_reagent", + "crud_process_data_collection_row_to_dict", + "crud_process_get_process", + "crud_process_get_process_detail", + "crud_process_list_all_processes", + "crud_process_list_processes", + "crud_process_output_row_to_dict", + "crud_process_process_code_exists", + "crud_process_py", + "crud_process_reagent_row_to_dict", + "crud_process_row_to_dict", + "crud_process_soft_delete_process", + "crud_process_soft_delete_sub_records", + "crud_process_total_pages", + "crud_process_update_process" ], "17": [ "crud_collection_region_create_collection_region", @@ -2115,6 +2120,22 @@ "crud_collection_protocol_no_update_protocol_no" ], "19": [ + "crud_sample_code_batch_issue_sample_codes", + "crud_sample_code_batch_revoke_sample_codes", + "crud_sample_code_create_sample_code", + "crud_sample_code_get_sample_code", + "crud_sample_code_list_sample_codes", + "crud_sample_code_parse_issued_time", + "crud_sample_code_py", + "crud_sample_code_rationale_1", + "crud_sample_code_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" + ], + "20": [ "core_wechat_message_py", "core_wechat_message_rationale_1", "core_wechat_message_rationale_86", @@ -2129,7 +2150,7 @@ "core_wechat_message_wechatmessageservice_init", "core_wechat_message_wechatmessageservice_send_template_message" ], - "20": [ + "21": [ "schemas_product_config", "schemas_product_productbase", "schemas_product_productcategorybase", @@ -2144,7 +2165,23 @@ "schemas_product_py", "schemas_product_rationale_1" ], - "21": [ + "22": [ + "crud_material_code_exists", + "crud_material_create_material", + "crud_material_dec", + "crud_material_fmt_dt", + "crud_material_get_material", + "crud_material_list_materials", + "crud_material_options_list", + "crud_material_py", + "crud_material_row_to_dict", + "crud_material_soft_delete_material", + "crud_material_stock_in", + "crud_material_stock_out", + "crud_material_update_material" + ], + "23": [ + "api_admin_list_depts", "crud_dept_build_tree", "crud_dept_cascade_soft_delete", "crud_dept_collect_with_ancestors", @@ -2158,7 +2195,8 @@ "crud_dept_soft_delete_dept", "crud_dept_update_dept" ], - "22": [ + "24": [ + "api_admin_list_menus", "crud_menu_build_tree", "crud_menu_cascade_soft_delete", "crud_menu_create_menu", @@ -2171,55 +2209,22 @@ "crud_menu_soft_delete_menu", "crud_menu_update_menu" ], - "23": [ - "crud_consumable_consumable_code_exists", - "crud_consumable_create_consumable", - "crud_consumable_get_consumable", - "crud_consumable_list_consumables", - "crud_consumable_py", - "crud_consumable_rationale_1", - "crud_consumable_row_to_dict", - "crud_consumable_soft_delete_consumable", - "crud_consumable_total_pages", - "crud_consumable_update_consumable" - ], - "24": [ - "crud_sop_document_create_sop_document", - "crud_sop_document_get_sop_document", - "crud_sop_document_list_sop_documents", - "crud_sop_document_py", - "crud_sop_document_rationale_1", - "crud_sop_document_row_to_dict", - "crud_sop_document_soft_delete_sop_document", - "crud_sop_document_sop_code_exists", - "crud_sop_document_total_pages", - "crud_sop_document_update_sop_document" - ], "25": [ - "crud_express_company_create_express_company", - "crud_express_company_express_code_exists", - "crud_express_company_get_express_company", - "crud_express_company_list_express_companies", - "crud_express_company_py", - "crud_express_company_rationale_1", - "crud_express_company_row_to_dict", - "crud_express_company_soft_delete_express_company", - "crud_express_company_total_pages", - "crud_express_company_update_express_company" + "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", + "crud_exhibition_appointment_list_exhibition_appointments", + "crud_exhibition_appointment_py", + "crud_exhibition_appointment_rationale_1", + "crud_exhibition_appointment_rationale_100", + "crud_exhibition_appointment_rationale_16", + "crud_exhibition_appointment_soft_delete_exhibition_appointment", + "crud_exhibition_appointment_update_exhibition_appointment" ], "26": [ - "crud_sample_reception_check_item_create_check_item", - "crud_sample_reception_check_item_get_check_item", - "crud_sample_reception_check_item_item_code_exists", - "crud_sample_reception_check_item_list_active_check_items", - "crud_sample_reception_check_item_list_check_items", - "crud_sample_reception_check_item_order_query", - "crud_sample_reception_check_item_py", - "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" - ], - "27": [ + "api_admin_dict_data_options", "crud_dict_data_create_dict_data", "crud_dict_data_get_dict_data", "crud_dict_data_list_dict_data", @@ -2231,31 +2236,8 @@ "crud_dict_data_total_pages", "crud_dict_data_update_dict_data" ], - "28": [ - "crud_process_category_category_code_exists", - "crud_process_category_create_process_category", - "crud_process_category_get_process_category", - "crud_process_category_list_process_categories", - "crud_process_category_py", - "crud_process_category_rationale_1", - "crud_process_category_row_to_dict", - "crud_process_category_soft_delete_process_category", - "crud_process_category_total_pages", - "crud_process_category_update_process_category" - ], - "29": [ - "crud_item_unit_create_item_unit", - "crud_item_unit_get_item_unit", - "crud_item_unit_list_item_units", - "crud_item_unit_py", - "crud_item_unit_rationale_1", - "crud_item_unit_row_to_dict", - "crud_item_unit_soft_delete_item_unit", - "crud_item_unit_total_pages", - "crud_item_unit_unit_code_exists", - "crud_item_unit_update_item_unit" - ], - "30": [ + "27": [ + "api_collection_protocol_ensure_customer_for_mother", "crud_customer_create_customer", "crud_customer_get_customer", "crud_customer_id_card_taken", @@ -2267,19 +2249,67 @@ "crud_customer_total_pages", "crud_customer_update_customer" ], + "28": [ + "crud_consumable_consumable_code_exists", + "crud_consumable_create_consumable", + "crud_consumable_get_consumable", + "crud_consumable_list_consumables", + "crud_consumable_py", + "crud_consumable_rationale_1", + "crud_consumable_row_to_dict", + "crud_consumable_soft_delete_consumable", + "crud_consumable_total_pages", + "crud_consumable_update_consumable" + ], + "29": [ + "crud_express_company_create_express_company", + "crud_express_company_express_code_exists", + "crud_express_company_get_express_company", + "crud_express_company_list_express_companies", + "crud_express_company_py", + "crud_express_company_rationale_1", + "crud_express_company_row_to_dict", + "crud_express_company_soft_delete_express_company", + "crud_express_company_total_pages", + "crud_express_company_update_express_company" + ], + "30": [ + "crud_sample_reception_check_item_create_check_item", + "crud_sample_reception_check_item_get_check_item", + "crud_sample_reception_check_item_item_code_exists", + "crud_sample_reception_check_item_list_active_check_items", + "crud_sample_reception_check_item_list_check_items", + "crud_sample_reception_check_item_order_query", + "crud_sample_reception_check_item_py", + "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" + ], "31": [ - "crud_exhibition_appointment_appointment_no_exists", - "crud_exhibition_appointment_create_exhibition_appointment", - "crud_exhibition_appointment_generate_appointment_no", - "crud_exhibition_appointment_get_exhibition_appointment", - "crud_exhibition_appointment_list_exhibition_appointments", - "crud_exhibition_appointment_py", - "crud_exhibition_appointment_rationale_1", - "crud_exhibition_appointment_rationale_100", - "crud_exhibition_appointment_soft_delete_exhibition_appointment", - "crud_exhibition_appointment_update_exhibition_appointment" + "crud_process_category_category_code_exists", + "crud_process_category_create_process_category", + "crud_process_category_get_process_category", + "crud_process_category_list_process_categories", + "crud_process_category_py", + "crud_process_category_rationale_1", + "crud_process_category_row_to_dict", + "crud_process_category_soft_delete_process_category", + "crud_process_category_total_pages", + "crud_process_category_update_process_category" ], "32": [ + "crud_item_unit_create_item_unit", + "crud_item_unit_get_item_unit", + "crud_item_unit_list_item_units", + "crud_item_unit_py", + "crud_item_unit_rationale_1", + "crud_item_unit_row_to_dict", + "crud_item_unit_soft_delete_item_unit", + "crud_item_unit_total_pages", + "crud_item_unit_unit_code_exists", + "crud_item_unit_update_item_unit" + ], + "33": [ "crud_cell_sample_type_create_cell_sample_type", "crud_cell_sample_type_get_cell_sample_type", "crud_cell_sample_type_list_cell_sample_types", @@ -2291,7 +2321,7 @@ "crud_cell_sample_type_type_code_exists", "crud_cell_sample_type_update_cell_sample_type" ], - "33": [ + "34": [ "crud_output_type_create_output_type", "crud_output_type_get_output_type", "crud_output_type_list_output_types", @@ -2303,7 +2333,7 @@ "crud_output_type_type_code_exists", "crud_output_type_update_output_type" ], - "34": [ + "35": [ "crud_post_create_post", "crud_post_get_post", "crud_post_list_posts", @@ -2314,17 +2344,6 @@ "crud_post_total_pages", "crud_post_update_post" ], - "35": [ - "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_row_to_dict", - "crud_dict_type_soft_delete_dict_type", - "crud_dict_type_total_pages", - "crud_dict_type_update_dict_type" - ], "36": [ "crud_tenant_create_tenant", "crud_tenant_get_tenant", @@ -2348,17 +2367,6 @@ "crud_reagent_update_reagent" ], "38": [ - "crud_site_create_site", - "crud_site_get_site", - "crud_site_list_sites", - "crud_site_py", - "crud_site_row_to_dict", - "crud_site_site_code_exists", - "crud_site_soft_delete_site", - "crud_site_total_pages", - "crud_site_update_site" - ], - "39": [ "crud_cell_product_create_cell_product", "crud_cell_product_delete_cell_product", "crud_cell_product_get_cell_product", @@ -2369,6 +2377,17 @@ "crud_cell_product_total_pages", "crud_cell_product_update_cell_product" ], + "39": [ + "crud_site_create_site", + "crud_site_get_site", + "crud_site_list_sites", + "crud_site_py", + "crud_site_row_to_dict", + "crud_site_site_code_exists", + "crud_site_soft_delete_site", + "crud_site_total_pages", + "crud_site_update_site" + ], "40": [ "models_base_basemodel", "models_base_basemodel_to_dict", @@ -2389,114 +2408,122 @@ "core_order_status_compat_to_decimal" ], "42": [ + "api_ethnic_list_ethnics_for_select", + "api_ethnic_py", + "crud_ethnic_list_ethnics", + "crud_ethnic_py", + "crud_ethnic_rationale_1", + "crud_ethnic_row_to_dict" + ], + "43": [ "basesettings", "core_config_config", "core_config_py", "core_config_settings" ], - "43": [ + "44": [ "core_database_auto_fill_create_dept_id", "core_database_get_db", "core_database_py", "core_database_rationale_31" ], - "44": [ + "45": [ "api_menu_get_menu_list", "api_menu_py", "api_menu_rationale_1" ], - "45": [ + "46": [ "core_context_py", "core_context_rationale_1" ], - "46": [ + "47": [ "api_init_py", "api_init_rationale_1" ], - "47": [ + "48": [ "init_py" ], - "48": [ + "49": [ "core_init_py" ], - "49": [ + "50": [ "core_wechat_message_rationale_143" ], - "50": [ + "51": [ "core_wechat_message_rationale_179" ], - "51": [ + "52": [ "core_wechat_message_rationale_215" ], - "52": [ + "53": [ "core_wechat_message_rationale_251" ], - "53": [ + "54": [ "core_wechat_message_rationale_289" ], - "54": [ + "55": [ "core_wechat_message_rationale_325" ], - "55": [ + "56": [ "models_init_py" ], - "56": [ + "57": [ "schemas_init_py" ], - "57": [ + "58": [ "crud_init_py" ], - "58": [ + "59": [ "ws_init_py" ] }, "cohesion": { "0": 0.02, "1": 0.01, - "2": 0.04, + "2": 0.02, "3": 0.06, - "4": 0.02, + "4": 0.09, "5": 0.03, - "6": 0.05, - "7": 0.04, - "8": 0.05, - "9": 0.43, - "10": 0.1, - "11": 0.08, - "12": 0.16, - "13": 0.13, - "14": 0.18, - "15": 0.22, - "16": 0.21, + "6": 0.04, + "7": 0.06, + "8": 0.07, + "9": 0.05, + "10": 0.43, + "11": 0.15, + "12": 0.12, + "13": 0.1, + "14": 0.17, + "15": 0.18, + "16": 0.22, "17": 0.21, "18": 0.25, - "19": 0.24, - "20": 0.23, - "21": 0.27, - "22": 0.29, - "23": 0.31, - "24": 0.31, - "25": 0.31, - "26": 0.38, + "19": 0.26, + "20": 0.24, + "21": 0.23, + "22": 0.31, + "23": 0.24, + "24": 0.26, + "25": 0.24, + "26": 0.24, "27": 0.27, "28": 0.31, "29": 0.31, - "30": 0.31, + "30": 0.38, "31": 0.31, "32": 0.31, "33": 0.31, - "34": 0.36, + "34": 0.31, "35": 0.36, "36": 0.36, "37": 0.36, - "38": 0.36, - "39": 0.31, + "38": 0.31, + "39": 0.36, "40": 0.29, "41": 0.38, - "42": 0.5, + "42": 0.4, "43": 0.5, - "44": 0.67, - "45": 1.0, + "44": 0.5, + "45": 0.67, "46": 1.0, "47": 1.0, "48": 1.0, @@ -2509,24 +2536,30 @@ "55": 1.0, "56": 1.0, "57": 1.0, - "58": 1.0 + "58": 1.0, + "59": 1.0 }, "gods": [ { "id": "core_response_success_response", "label": "success_response()", - "degree": 370 + "degree": 375 }, { "id": "core_response_error_response", "label": "error_response()", - "degree": 296 + "degree": 301 }, { "id": "models_models_sysuser", "label": "SysUser", "degree": 211 }, + { + "id": "models_material_bizmaterialstocklog", + "label": "BizMaterialStockLog", + "degree": 193 + }, { "id": "models_qc_param_bizqctaskresult", "label": "BizQcTaskResult", @@ -2535,23 +2568,18 @@ { "id": "models_qc_material_bizqcmaterialusage", "label": "BizQcMaterialUsage", - "degree": 190 + "degree": 193 }, { - "id": "models_material_bizmaterialstocklog", - "label": "BizMaterialStockLog", - "degree": 189 + "id": "models_material_bizmaterial", + "label": "BizMaterial", + "degree": 190 }, { "id": "models_qc_material_bizqcmaterial", "label": "BizQcMaterial", "degree": 189 }, - { - "id": "models_material_bizmaterial", - "label": "BizMaterial", - "degree": 188 - }, { "id": "models_qc_param_bizqcitemparam", "label": "BizQcItemParam", @@ -2560,7 +2588,7 @@ { "id": "core_utils_generate_uuid", "label": "generate_uuid()", - "degree": 124 + "degree": 129 } ], "surprises": [ diff --git a/backend/graphify-out/.graphify_extract.json b/backend/graphify-out/.graphify_extract.json index 87e9edba3..46827f2e1 100644 --- a/backend/graphify-out/.graphify_extract.json +++ b/backend/graphify-out/.graphify_extract.json @@ -1825,7 +1825,7 @@ "label": "BizMaterialStockLog", "file_type": "code", "source_file": "models/material.py", - "source_location": "L31" + "source_location": "L32" }, { "id": "models_qc_param_py", @@ -6732,63 +6732,91 @@ "label": "_code_exists()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L43" + "source_location": "L44" }, { "id": "crud_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L59" + "source_location": "L60" }, { "id": "crud_material_get_material", "label": "get_material()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L108" + "source_location": "L109" }, { "id": "crud_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L125" + "source_location": "L126" }, { "id": "crud_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L170" + "source_location": "L172" }, { "id": "crud_material_soft_delete_material", "label": "soft_delete_material()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L228" + "source_location": "L232" }, { "id": "crud_material_stock_in", "label": "stock_in()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L254" + "source_location": "L258" + }, + { + "id": "crud_material_batch_stock_in", + "label": "batch_stock_in()", + "file_type": "code", + "source_file": "crud/material.py", + "source_location": "L318" }, { "id": "crud_material_stock_out", "label": "stock_out()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L312" + "source_location": "L394" + }, + { + "id": "crud_material_batch_stock_out", + "label": "batch_stock_out()", + "file_type": "code", + "source_file": "crud/material.py", + "source_location": "L463" }, { "id": "crud_material_options_list", "label": "options_list()", "file_type": "code", "source_file": "crud/material.py", - "source_location": "L379" + "source_location": "L550" + }, + { + "id": "crud_material_rationale_328", + "label": "\u6279\u91cf\u5165\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", + "file_type": "rationale", + "source_file": "crud/material.py", + "source_location": "L328" + }, + { + "id": "crud_material_rationale_475", + "label": "\u6279\u91cf\u51fa\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", + "file_type": "rationale", + "source_file": "crud/material.py", + "source_location": "L475" }, { "id": "crud_dict_type_py", @@ -6930,33 +6958,40 @@ "source_file": "crud/material_stock_log.py", "source_location": "L1" }, + { + "id": "crud_material_stock_log_user_nick_name_map", + "label": "_user_nick_name_map()", + "file_type": "code", + "source_file": "crud/material_stock_log.py", + "source_location": "L14" + }, { "id": "crud_material_stock_log_dec", "label": "_dec()", "file_type": "code", "source_file": "crud/material_stock_log.py", - "source_location": "L13" + "source_location": "L22" }, { "id": "crud_material_stock_log_fmt_dt", "label": "_fmt_dt()", "file_type": "code", "source_file": "crud/material_stock_log.py", - "source_location": "L19" + "source_location": "L28" }, { "id": "crud_material_stock_log_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "crud/material_stock_log.py", - "source_location": "L23" + "source_location": "L32" }, { "id": "crud_material_stock_log_list_stock_logs", "label": "list_stock_logs()", "file_type": "code", "source_file": "crud/material_stock_log.py", - "source_location": "L42" + "source_location": "L53" }, { "id": "crud_tenant_py", @@ -11200,19 +11235,61 @@ "source_file": "crud/qc_material.py", "source_location": "L232" }, + { + "id": "crud_qc_material_build_manual_out_remark", + "label": "_build_manual_out_remark()", + "file_type": "code", + "source_file": "crud/qc_material.py", + "source_location": "L244" + }, { "id": "crud_qc_material_stock_in", "label": "stock_in()", "file_type": "code", "source_file": "crud/qc_material.py", - "source_location": "L244" + "source_location": "L264" + }, + { + "id": "crud_qc_material_batch_stock_in", + "label": "batch_stock_in()", + "file_type": "code", + "source_file": "crud/qc_material.py", + "source_location": "L320" + }, + { + "id": "crud_qc_material_stock_out", + "label": "stock_out()", + "file_type": "code", + "source_file": "crud/qc_material.py", + "source_location": "L395" + }, + { + "id": "crud_qc_material_batch_stock_out", + "label": "batch_stock_out()", + "file_type": "code", + "source_file": "crud/qc_material.py", + "source_location": "L463" }, { "id": "crud_qc_material_options_list", "label": "options_list()", "file_type": "code", "source_file": "crud/qc_material.py", - "source_location": "L295" + "source_location": "L553" + }, + { + "id": "crud_qc_material_rationale_329", + "label": "\u6279\u91cf\u5165\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", + "file_type": "rationale", + "source_file": "crud/qc_material.py", + "source_location": "L329" + }, + { + "id": "crud_qc_material_rationale_474", + "label": "\u6279\u91cf\u51fa\u5e93\uff0c\u540c\u4e00\u4e8b\u52a1\uff1b\u4efb\u4e00\u6761\u5931\u8d25\u5219\u5168\u90e8\u56de\u6eda\u3002", + "file_type": "rationale", + "source_file": "crud/qc_material.py", + "source_location": "L474" }, { "id": "crud_collection_protocol_no_py", @@ -12262,7 +12339,7 @@ "label": "MaterialBody", "file_type": "code", "source_file": "api/material.py", - "source_location": "L21" + "source_location": "L23" }, { "id": "basemodel", @@ -12276,77 +12353,119 @@ "label": "MaterialUpdateBody", "file_type": "code", "source_file": "api/material.py", - "source_location": "L34" + "source_location": "L37" }, { "id": "api_material_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "api/material.py", - "source_location": "L47" + "source_location": "L51" }, { "id": "api_material_stockoutbody", "label": "StockOutBody", "file_type": "code", "source_file": "api/material.py", - "source_location": "L53" + "source_location": "L58" + }, + { + "id": "api_material_batchstockinitem", + "label": "BatchStockInItem", + "file_type": "code", + "source_file": "api/material.py", + "source_location": "L67" + }, + { + "id": "api_material_batchstockinbody", + "label": "BatchStockInBody", + "file_type": "code", + "source_file": "api/material.py", + "source_location": "L74" + }, + { + "id": "api_material_batchstockoutitem", + "label": "BatchStockOutItem", + "file_type": "code", + "source_file": "api/material.py", + "source_location": "L81" + }, + { + "id": "api_material_batchstockoutbody", + "label": "BatchStockOutBody", + "file_type": "code", + "source_file": "api/material.py", + "source_location": "L88" }, { "id": "api_material_list_materials", "label": "list_materials()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L65" + "source_location": "L101" }, { "id": "api_material_material_options", "label": "material_options()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L88" + "source_location": "L124" }, { "id": "api_material_create_material", "label": "create_material()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L100" + "source_location": "L136" }, { "id": "api_material_update_material", "label": "update_material()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L120" + "source_location": "L156" }, { "id": "api_material_delete_material", "label": "delete_material()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L141" + "source_location": "L177" + }, + { + "id": "api_material_batch_stock_in_material", + "label": "batch_stock_in_material()", + "file_type": "code", + "source_file": "api/material.py", + "source_location": "L194" + }, + { + "id": "api_material_batch_stock_out_material", + "label": "batch_stock_out_material()", + "file_type": "code", + "source_file": "api/material.py", + "source_location": "L228" }, { "id": "api_material_stock_in_material", "label": "stock_in_material()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L158" + "source_location": "L264" }, { "id": "api_material_stock_out_material", "label": "stock_out_material()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L179" + "source_location": "L291" }, { "id": "api_material_list_stock_logs", "label": "list_stock_logs()", "file_type": "code", "source_file": "api/material.py", - "source_location": "L204" + "source_location": "L322" }, { "id": "api_qc_py", @@ -12360,7 +12479,7 @@ "label": "ThirdPartyCompanyBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L29" + "source_location": "L32" }, { "id": "basemodel", @@ -12374,329 +12493,385 @@ "label": "ThirdPartyCompanyUpdateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L46" + "source_location": "L49" }, { "id": "api_qc_list_qc_third_party_companies", "label": "list_qc_third_party_companies()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L64" + "source_location": "L67" }, { "id": "api_qc_list_qc_third_party_company_options", "label": "list_qc_third_party_company_options()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L86" + "source_location": "L89" }, { "id": "api_qc_create_qc_third_party_company", "label": "create_qc_third_party_company()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L100" + "source_location": "L103" }, { "id": "api_qc_update_qc_third_party_company", "label": "update_qc_third_party_company()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L134" + "source_location": "L137" }, { "id": "api_qc_delete_qc_third_party_company", "label": "delete_qc_third_party_company()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L170" + "source_location": "L173" }, { "id": "api_qc_thirdpartyitembody", "label": "ThirdPartyItemBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L190" + "source_location": "L193" }, { "id": "api_qc_thirdpartyitemupdatebody", "label": "ThirdPartyItemUpdateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L202" + "source_location": "L205" }, { "id": "api_qc_list_qc_third_party_items", "label": "list_qc_third_party_items()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L215" + "source_location": "L218" }, { "id": "api_qc_list_qc_third_party_items_active", "label": "list_qc_third_party_items_active()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L244" + "source_location": "L247" }, { "id": "api_qc_create_qc_third_party_item", "label": "create_qc_third_party_item()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L259" + "source_location": "L262" }, { "id": "api_qc_update_qc_third_party_item", "label": "update_qc_third_party_item()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L288" + "source_location": "L291" }, { "id": "api_qc_delete_qc_third_party_item", "label": "delete_qc_third_party_item()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L319" + "source_location": "L322" }, { "id": "api_qc_labtestitembody", "label": "LabTestItemBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L339" + "source_location": "L342" }, { "id": "api_qc_labtestitemupdatebody", "label": "LabTestItemUpdateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L350" + "source_location": "L353" }, { "id": "api_qc_itemparambody", "label": "ItemParamBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L364" + "source_location": "L367" }, { "id": "api_qc_taskresultbody", "label": "TaskResultBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L369" + "source_location": "L372" }, { "id": "api_qc_taskcompletewithresultbody", "label": "TaskCompleteWithResultBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L374" + "source_location": "L377" }, { "id": "api_qc_list_qc_lab_test_items", "label": "list_qc_lab_test_items()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L384" + "source_location": "L387" }, { "id": "api_qc_list_qc_lab_test_items_active", "label": "list_qc_lab_test_items_active()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L406" + "source_location": "L409" }, { "id": "api_qc_create_qc_lab_test_item", "label": "create_qc_lab_test_item()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L420" + "source_location": "L423" }, { "id": "api_qc_update_qc_lab_test_item", "label": "update_qc_lab_test_item()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L448" + "source_location": "L451" }, { "id": "api_qc_delete_qc_lab_test_item", "label": "delete_qc_lab_test_item()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L478" + "source_location": "L481" }, { "id": "api_qc_list_item_params", "label": "list_item_params()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L499" + "source_location": "L502" }, { "id": "api_qc_save_item_params", "label": "save_item_params()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L515" + "source_location": "L518" }, { "id": "api_qc_workorderconfigurebody", "label": "WorkOrderConfigureBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L537" + "source_location": "L540" }, { "id": "api_qc_list_qc_work_orders", "label": "list_qc_work_orders()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L547" + "source_location": "L550" }, { "id": "api_qc_get_qc_work_order_detail", "label": "get_qc_work_order_detail()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L574" + "source_location": "L577" }, { "id": "api_qc_configure_qc_work_order", "label": "configure_qc_work_order()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L592" + "source_location": "L595" }, { "id": "api_qc_taskattachmentsbody", "label": "TaskAttachmentsBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L622" + "source_location": "L625" }, { "id": "api_qc_list_qc_tasks", "label": "list_qc_tasks()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L629" + "source_location": "L632" }, { "id": "api_qc_get_qc_task_detail", "label": "get_qc_task_detail()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L662" + "source_location": "L665" }, { "id": "api_qc_start_qc_task", "label": "start_qc_task()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L680" + "source_location": "L683" }, { "id": "api_qc_complete_qc_task", "label": "complete_qc_task()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L698" + "source_location": "L701" }, { "id": "api_qc_get_task_results", "label": "get_task_results()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L718" + "source_location": "L721" }, { "id": "api_qc_complete_task_with_result", "label": "complete_task_with_result()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L733" + "source_location": "L736" }, { "id": "api_qc_update_qc_task_attachments", "label": "update_qc_task_attachments()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L789" + "source_location": "L792" }, { "id": "api_qc_qcmaterialbody", "label": "QcMaterialBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L816" + "source_location": "L819" }, { "id": "api_qc_qcmaterialupdatebody", "label": "QcMaterialUpdateBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L827" + "source_location": "L830" }, { "id": "api_qc_stockinbody", "label": "StockInBody", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L838" + "source_location": "L841" + }, + { + "id": "api_qc_stockoutbody", + "label": "StockOutBody", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L848" + }, + { + "id": "api_qc_batchstockinitem", + "label": "BatchStockInItem", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L857" + }, + { + "id": "api_qc_batchstockinbody", + "label": "BatchStockInBody", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L864" + }, + { + "id": "api_qc_batchstockoutitem", + "label": "BatchStockOutItem", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L871" + }, + { + "id": "api_qc_batchstockoutbody", + "label": "BatchStockOutBody", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L878" }, { "id": "api_qc_list_qc_materials", "label": "list_qc_materials()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L845" + "source_location": "L888" }, { "id": "api_qc_qc_material_options", "label": "qc_material_options()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L867" + "source_location": "L910" }, { "id": "api_qc_create_qc_material", "label": "create_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L879" + "source_location": "L922" }, { "id": "api_qc_update_qc_material", "label": "update_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L896" + "source_location": "L939" }, { "id": "api_qc_delete_qc_material", "label": "delete_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L914" + "source_location": "L957" + }, + { + "id": "api_qc_batch_stock_in_qc_material", + "label": "batch_stock_in_qc_material()", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L974" + }, + { + "id": "api_qc_batch_stock_out_qc_material", + "label": "batch_stock_out_qc_material()", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L1008" }, { "id": "api_qc_stock_in_qc_material", "label": "stock_in_qc_material()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L931" + "source_location": "L1044" + }, + { + "id": "api_qc_stock_out_qc_material", + "label": "stock_out_qc_material()", + "file_type": "code", + "source_file": "api/qc.py", + "source_location": "L1078" }, { "id": "api_qc_list_qc_material_usages", "label": "list_qc_material_usages()", "file_type": "code", "source_file": "api/qc.py", - "source_location": "L952" + "source_location": "L1117" }, { "id": "api_qc_rationale_1", @@ -21226,7 +21401,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "models/material.py", - "source_location": "L31", + "source_location": "L32", "weight": 1.0 }, { @@ -21235,7 +21410,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "models/material.py", - "source_location": "L31", + "source_location": "L32", "weight": 1.0 }, { @@ -32962,7 +33137,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L43", + "source_location": "L44", "weight": 1.0 }, { @@ -32971,7 +33146,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L59", + "source_location": "L60", "weight": 1.0 }, { @@ -32980,7 +33155,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L108", + "source_location": "L109", "weight": 1.0 }, { @@ -32989,7 +33164,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L125", + "source_location": "L126", "weight": 1.0 }, { @@ -32998,7 +33173,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L170", + "source_location": "L172", "weight": 1.0 }, { @@ -33007,7 +33182,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L228", + "source_location": "L232", "weight": 1.0 }, { @@ -33016,7 +33191,16 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L254", + "source_location": "L258", + "weight": 1.0 + }, + { + "source": "crud_material_py", + "target": "crud_material_batch_stock_in", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/material.py", + "source_location": "L318", "weight": 1.0 }, { @@ -33025,7 +33209,16 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L312", + "source_location": "L394", + "weight": 1.0 + }, + { + "source": "crud_material_py", + "target": "crud_material_batch_stock_out", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/material.py", + "source_location": "L463", "weight": 1.0 }, { @@ -33034,7 +33227,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L379", + "source_location": "L550", "weight": 1.0 }, { @@ -33052,7 +33245,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L38", + "source_location": "L39", "weight": 1.0 }, { @@ -33061,7 +33254,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L105", + "source_location": "L106", "weight": 1.0 }, { @@ -33070,7 +33263,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L122", + "source_location": "L123", "weight": 1.0 }, { @@ -33079,7 +33272,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L136", + "source_location": "L137", "weight": 1.0 }, { @@ -33088,7 +33281,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L167", + "source_location": "L169", "weight": 1.0 }, { @@ -33097,7 +33290,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L194", + "source_location": "L196", "weight": 1.0 }, { @@ -33106,7 +33299,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L225", + "source_location": "L229", "weight": 1.0 }, { @@ -33115,7 +33308,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L245", + "source_location": "L249", "weight": 1.0 }, { @@ -33124,7 +33317,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L309", + "source_location": "L315", "weight": 1.0 }, { @@ -33133,7 +33326,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L376", + "source_location": "L460", "weight": 1.0 }, { @@ -33142,7 +33335,25 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material.py", - "source_location": "L398", + "source_location": "L569", + "weight": 1.0 + }, + { + "source": "crud_material_rationale_328", + "target": "crud_material_batch_stock_in", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "crud/material.py", + "source_location": "L328", + "weight": 1.0 + }, + { + "source": "crud_material_rationale_475", + "target": "crud_material_batch_stock_out", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "crud/material.py", + "source_location": "L475", "weight": 1.0 }, { @@ -33550,13 +33761,31 @@ "source_location": "L10", "weight": 1.0 }, + { + "source": "crud_material_stock_log_py", + "target": "app_models_models", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "crud/material_stock_log.py", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "crud_material_stock_log_py", + "target": "crud_material_stock_log_user_nick_name_map", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/material_stock_log.py", + "source_location": "L14", + "weight": 1.0 + }, { "source": "crud_material_stock_log_py", "target": "crud_material_stock_log_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L13", + "source_location": "L22", "weight": 1.0 }, { @@ -33565,7 +33794,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L19", + "source_location": "L28", "weight": 1.0 }, { @@ -33574,7 +33803,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L23", + "source_location": "L32", "weight": 1.0 }, { @@ -33583,7 +33812,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L42", + "source_location": "L53", "weight": 1.0 }, { @@ -33592,7 +33821,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L30", + "source_location": "L40", "weight": 1.0 }, { @@ -33601,7 +33830,16 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L37", + "source_location": "L48", + "weight": 1.0 + }, + { + "source": "crud_material_stock_log_list_stock_logs", + "target": "crud_material_stock_log_user_nick_name_map", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "crud/material_stock_log.py", + "source_location": "L103", "weight": 1.0 }, { @@ -33610,7 +33848,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/material_stock_log.py", - "source_location": "L92", + "source_location": "L105", "weight": 1.0 }, { @@ -45018,20 +45256,56 @@ }, { "source": "crud_qc_material_py", - "target": "crud_qc_material_stock_in", + "target": "crud_qc_material_build_manual_out_remark", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_material.py", "source_location": "L244", "weight": 1.0 }, + { + "source": "crud_qc_material_py", + "target": "crud_qc_material_stock_in", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L264", + "weight": 1.0 + }, + { + "source": "crud_qc_material_py", + "target": "crud_qc_material_batch_stock_in", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L320", + "weight": 1.0 + }, + { + "source": "crud_qc_material_py", + "target": "crud_qc_material_stock_out", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L395", + "weight": 1.0 + }, + { + "source": "crud_qc_material_py", + "target": "crud_qc_material_batch_stock_out", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L463", + "weight": 1.0 + }, { "source": "crud_qc_material_py", "target": "crud_qc_material_options_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/qc_material.py", - "source_location": "L295", + "source_location": "L553", "weight": 1.0 }, { @@ -45106,13 +45380,49 @@ "source_location": "L236", "weight": 1.0 }, + { + "source": "crud_qc_material_stock_out", + "target": "crud_qc_material_build_manual_out_remark", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L449", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_out", + "target": "crud_qc_material_build_manual_out_remark", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L481", + "weight": 1.0 + }, { "source": "crud_qc_material_options_list", "target": "crud_qc_material_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/qc_material.py", - "source_location": "L314", + "source_location": "L572", + "weight": 1.0 + }, + { + "source": "crud_qc_material_rationale_329", + "target": "crud_qc_material_batch_stock_in", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L329", + "weight": 1.0 + }, + { + "source": "crud_qc_material_rationale_474", + "target": "crud_qc_material_batch_stock_out", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "crud/qc_material.py", + "source_location": "L474", "weight": 1.0 }, { @@ -47664,7 +47974,7 @@ }, { "source": "api_material_py", - "target": "typing", + "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", @@ -47673,16 +47983,16 @@ }, { "source": "api_material_py", - "target": "fastapi", + "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L4", + "source_location": "L3", "weight": 1.0 }, { "source": "api_material_py", - "target": "pydantic", + "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", @@ -47691,20 +48001,29 @@ }, { "source": "api_material_py", - "target": "sqlalchemy_orm", + "target": "pydantic", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", "source_location": "L6", "weight": 1.0 }, + { + "source": "api_material_py", + "target": "sqlalchemy_orm", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L7", + "weight": 1.0 + }, { "source": "api_material_py", "target": "app_api_sample_reception", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L8", + "source_location": "L9", "weight": 1.0 }, { @@ -47713,21 +48032,12 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L9", - "weight": 1.0 - }, - { - "source": "api_material_py", - "target": "app_core_menu_guard", - "relation": "imports_from", - "confidence": "EXTRACTED", - "source_file": "api/material.py", "source_location": "L10", "weight": 1.0 }, { "source": "api_material_py", - "target": "app_core_response", + "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", @@ -47736,7 +48046,7 @@ }, { "source": "api_material_py", - "target": "app_crud", + "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", @@ -47745,20 +48055,38 @@ }, { "source": "api_material_py", - "target": "app_crud", + "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/material.py", "source_location": "L13", "weight": 1.0 }, + { + "source": "api_material_py", + "target": "app_crud", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "app_crud", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L15", + "weight": 1.0 + }, { "source": "api_material_py", "target": "api_material_materialbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L21", + "source_location": "L23", "weight": 1.0 }, { @@ -47767,7 +48095,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L21", + "source_location": "L23", "weight": 1.0 }, { @@ -47776,7 +48104,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L34", + "source_location": "L37", "weight": 1.0 }, { @@ -47785,7 +48113,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L34", + "source_location": "L37", "weight": 1.0 }, { @@ -47794,7 +48122,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L47", + "source_location": "L51", "weight": 1.0 }, { @@ -47803,7 +48131,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L47", + "source_location": "L51", "weight": 1.0 }, { @@ -47812,7 +48140,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L53", + "source_location": "L58", "weight": 1.0 }, { @@ -47821,7 +48149,79 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L53", + "source_location": "L58", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "api_material_batchstockinitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "api_material_batchstockinitem", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L67", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "api_material_batchstockinbody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L74", + "weight": 1.0 + }, + { + "source": "api_material_batchstockinbody", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L74", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "api_material_batchstockoutitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L81", + "weight": 1.0 + }, + { + "source": "api_material_batchstockoutitem", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L81", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "api_material_batchstockoutbody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L88", + "weight": 1.0 + }, + { + "source": "api_material_batchstockoutbody", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L88", "weight": 1.0 }, { @@ -47830,7 +48230,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L65", + "source_location": "L101", "weight": 1.0 }, { @@ -47839,7 +48239,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L88", + "source_location": "L124", "weight": 1.0 }, { @@ -47848,7 +48248,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L100", + "source_location": "L136", "weight": 1.0 }, { @@ -47857,7 +48257,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L120", + "source_location": "L156", "weight": 1.0 }, { @@ -47866,7 +48266,25 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L141", + "source_location": "L177", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "api_material_batch_stock_in_material", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L194", + "weight": 1.0 + }, + { + "source": "api_material_py", + "target": "api_material_batch_stock_out_material", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/material.py", + "source_location": "L228", "weight": 1.0 }, { @@ -47875,7 +48293,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L158", + "source_location": "L264", "weight": 1.0 }, { @@ -47884,7 +48302,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L179", + "source_location": "L291", "weight": 1.0 }, { @@ -47893,7 +48311,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/material.py", - "source_location": "L204", + "source_location": "L322", "weight": 1.0 }, { @@ -47934,7 +48352,7 @@ }, { "source": "api_qc_py", - "target": "app_core_database", + "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", @@ -47943,16 +48361,7 @@ }, { "source": "api_qc_py", - "target": "app_core_menu_guard", - "relation": "imports_from", - "confidence": "EXTRACTED", - "source_file": "api/qc.py", - "source_location": "L9", - "weight": 1.0 - }, - { - "source": "api_qc_py", - "target": "app_core_response", + "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", @@ -47961,7 +48370,7 @@ }, { "source": "api_qc_py", - "target": "app_crud", + "target": "app_core_menu_guard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", @@ -47970,7 +48379,7 @@ }, { "source": "api_qc_py", - "target": "app_crud", + "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", @@ -47979,7 +48388,7 @@ }, { "source": "api_qc_py", - "target": "app_crud", + "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", @@ -48042,7 +48451,7 @@ }, { "source": "api_qc_py", - "target": "app_crud_collection_protocol", + "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", @@ -48051,20 +48460,47 @@ }, { "source": "api_qc_py", - "target": "app_api_sample_reception", + "target": "app_crud", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "api/qc.py", "source_location": "L21", "weight": 1.0 }, + { + "source": "api_qc_py", + "target": "app_crud", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "app_crud_collection_protocol", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "app_api_sample_reception", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L24", + "weight": 1.0 + }, { "source": "api_qc_py", "target": "api_qc_thirdpartycompanybody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L29", + "source_location": "L32", "weight": 1.0 }, { @@ -48073,7 +48509,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L29", + "source_location": "L32", "weight": 1.0 }, { @@ -48082,7 +48518,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L46", + "source_location": "L49", "weight": 1.0 }, { @@ -48091,7 +48527,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L46", + "source_location": "L49", "weight": 1.0 }, { @@ -48100,7 +48536,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L64", + "source_location": "L67", "weight": 1.0 }, { @@ -48109,7 +48545,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L86", + "source_location": "L89", "weight": 1.0 }, { @@ -48118,7 +48554,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L100", + "source_location": "L103", "weight": 1.0 }, { @@ -48127,7 +48563,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L134", + "source_location": "L137", "weight": 1.0 }, { @@ -48136,7 +48572,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L170", + "source_location": "L173", "weight": 1.0 }, { @@ -48145,7 +48581,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L190", + "source_location": "L193", "weight": 1.0 }, { @@ -48154,7 +48590,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L190", + "source_location": "L193", "weight": 1.0 }, { @@ -48163,7 +48599,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L202", + "source_location": "L205", "weight": 1.0 }, { @@ -48172,7 +48608,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L202", + "source_location": "L205", "weight": 1.0 }, { @@ -48181,7 +48617,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L215", + "source_location": "L218", "weight": 1.0 }, { @@ -48190,7 +48626,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L244", + "source_location": "L247", "weight": 1.0 }, { @@ -48199,7 +48635,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L259", + "source_location": "L262", "weight": 1.0 }, { @@ -48208,7 +48644,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L288", + "source_location": "L291", "weight": 1.0 }, { @@ -48217,7 +48653,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L319", + "source_location": "L322", "weight": 1.0 }, { @@ -48226,7 +48662,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L339", + "source_location": "L342", "weight": 1.0 }, { @@ -48235,7 +48671,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L339", + "source_location": "L342", "weight": 1.0 }, { @@ -48244,7 +48680,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L350", + "source_location": "L353", "weight": 1.0 }, { @@ -48253,7 +48689,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L350", + "source_location": "L353", "weight": 1.0 }, { @@ -48262,7 +48698,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L364", + "source_location": "L367", "weight": 1.0 }, { @@ -48271,7 +48707,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L364", + "source_location": "L367", "weight": 1.0 }, { @@ -48280,7 +48716,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L369", + "source_location": "L372", "weight": 1.0 }, { @@ -48289,7 +48725,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L369", + "source_location": "L372", "weight": 1.0 }, { @@ -48298,7 +48734,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L374", + "source_location": "L377", "weight": 1.0 }, { @@ -48307,7 +48743,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L374", + "source_location": "L377", "weight": 1.0 }, { @@ -48316,7 +48752,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L384", + "source_location": "L387", "weight": 1.0 }, { @@ -48325,7 +48761,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L406", + "source_location": "L409", "weight": 1.0 }, { @@ -48334,7 +48770,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L420", + "source_location": "L423", "weight": 1.0 }, { @@ -48343,7 +48779,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L448", + "source_location": "L451", "weight": 1.0 }, { @@ -48352,7 +48788,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L478", + "source_location": "L481", "weight": 1.0 }, { @@ -48361,7 +48797,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L499", + "source_location": "L502", "weight": 1.0 }, { @@ -48370,7 +48806,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L515", + "source_location": "L518", "weight": 1.0 }, { @@ -48379,7 +48815,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L537", + "source_location": "L540", "weight": 1.0 }, { @@ -48388,7 +48824,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L537", + "source_location": "L540", "weight": 1.0 }, { @@ -48397,7 +48833,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L547", + "source_location": "L550", "weight": 1.0 }, { @@ -48406,7 +48842,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L574", + "source_location": "L577", "weight": 1.0 }, { @@ -48415,7 +48851,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L592", + "source_location": "L595", "weight": 1.0 }, { @@ -48424,7 +48860,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L622", + "source_location": "L625", "weight": 1.0 }, { @@ -48433,7 +48869,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L622", + "source_location": "L625", "weight": 1.0 }, { @@ -48442,7 +48878,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L629", + "source_location": "L632", "weight": 1.0 }, { @@ -48451,7 +48887,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L662", + "source_location": "L665", "weight": 1.0 }, { @@ -48460,7 +48896,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L680", + "source_location": "L683", "weight": 1.0 }, { @@ -48469,7 +48905,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L698", + "source_location": "L701", "weight": 1.0 }, { @@ -48478,7 +48914,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L718", + "source_location": "L721", "weight": 1.0 }, { @@ -48487,7 +48923,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L733", + "source_location": "L736", "weight": 1.0 }, { @@ -48496,7 +48932,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L789", + "source_location": "L792", "weight": 1.0 }, { @@ -48505,7 +48941,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L816", + "source_location": "L819", "weight": 1.0 }, { @@ -48514,7 +48950,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L816", + "source_location": "L819", "weight": 1.0 }, { @@ -48523,7 +48959,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L827", + "source_location": "L830", "weight": 1.0 }, { @@ -48532,7 +48968,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L827", + "source_location": "L830", "weight": 1.0 }, { @@ -48541,7 +48977,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L838", + "source_location": "L841", "weight": 1.0 }, { @@ -48550,7 +48986,97 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L838", + "source_location": "L841", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_stockoutbody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L848", + "weight": 1.0 + }, + { + "source": "api_qc_stockoutbody", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L848", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_batchstockinitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L857", + "weight": 1.0 + }, + { + "source": "api_qc_batchstockinitem", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L857", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_batchstockinbody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L864", + "weight": 1.0 + }, + { + "source": "api_qc_batchstockinbody", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L864", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_batchstockoutitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L871", + "weight": 1.0 + }, + { + "source": "api_qc_batchstockoutitem", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L871", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_batchstockoutbody", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L878", + "weight": 1.0 + }, + { + "source": "api_qc_batchstockoutbody", + "target": "basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L878", "weight": 1.0 }, { @@ -48559,7 +49085,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L845", + "source_location": "L888", "weight": 1.0 }, { @@ -48568,7 +49094,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L867", + "source_location": "L910", "weight": 1.0 }, { @@ -48577,7 +49103,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L879", + "source_location": "L922", "weight": 1.0 }, { @@ -48586,7 +49112,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L896", + "source_location": "L939", "weight": 1.0 }, { @@ -48595,7 +49121,25 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L914", + "source_location": "L957", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_batch_stock_in_qc_material", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L974", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_batch_stock_out_qc_material", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L1008", "weight": 1.0 }, { @@ -48604,7 +49148,16 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L931", + "source_location": "L1044", + "weight": 1.0 + }, + { + "source": "api_qc_py", + "target": "api_qc_stock_out_qc_material", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/qc.py", + "source_location": "L1078", "weight": 1.0 }, { @@ -48613,7 +49166,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/qc.py", - "source_location": "L952", + "source_location": "L1117", "weight": 1.0 }, { @@ -70549,6 +71102,42 @@ "source_location": "L18", "weight": 0.8 }, + { + "source": "crud_material_rationale_328", + "target": "models_material_bizmaterial", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/material.py", + "source_location": "L12", + "weight": 0.8 + }, + { + "source": "crud_material_rationale_475", + "target": "models_material_bizmaterial", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/material.py", + "source_location": "L12", + "weight": 0.8 + }, + { + "source": "crud_material_rationale_328", + "target": "models_material_bizmaterialstocklog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/material.py", + "source_location": "L12", + "weight": 0.8 + }, + { + "source": "crud_material_rationale_475", + "target": "models_material_bizmaterialstocklog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "crud/material.py", + "source_location": "L12", + "weight": 0.8 + }, { "source": "crud_dict_type_rationale_1", "target": "models_models_sysdicttype", @@ -87235,7 +87824,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L95", + "source_location": "L96", "weight": 1.0 }, { @@ -87245,7 +87834,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L133", + "source_location": "L134", "weight": 1.0 }, { @@ -87255,7 +87844,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L144", + "source_location": "L145", "weight": 1.0 }, { @@ -87265,7 +87854,27 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L145", + "source_location": "L146", + "weight": 1.0 + }, + { + "source": "crud_material_create_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L153", + "weight": 1.0 + }, + { + "source": "crud_material_update_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L211", "weight": 1.0 }, { @@ -87275,7 +87884,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L266", + "source_location": "L271", "weight": 1.0 }, { @@ -87285,7 +87894,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L288", + "source_location": "L294", "weight": 1.0 }, { @@ -87295,7 +87904,47 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L289", + "source_location": "L295", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_in", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L336", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_in", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L342", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_in", + "target": "models_material_bizmaterialstocklog", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L368", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_in", + "target": "core_utils_generate_uuid", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L369", "weight": 1.0 }, { @@ -87305,7 +87954,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L326", + "source_location": "L409", "weight": 1.0 }, { @@ -87315,7 +87964,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L353", + "source_location": "L437", "weight": 1.0 }, { @@ -87325,7 +87974,47 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material.py", - "source_location": "L354", + "source_location": "L438", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_out", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L485", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_out", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L491", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_out", + "target": "models_material_bizmaterialstocklog", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L522", + "weight": 1.0 + }, + { + "source": "crud_material_batch_stock_out", + "target": "core_utils_generate_uuid", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material.py", + "source_location": "L523", "weight": 1.0 }, { @@ -87405,7 +88094,17 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/material_stock_log.py", - "source_location": "L82", + "source_location": "L93", + "weight": 1.0 + }, + { + "source": "crud_material_stock_log_list_stock_logs", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/material_stock_log.py", + "source_location": "L105", "weight": 1.0 }, { @@ -91775,7 +92474,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_material.py", - "source_location": "L271", + "source_location": "L296", "weight": 1.0 }, { @@ -91785,7 +92484,117 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/qc_material.py", - "source_location": "L272", + "source_location": "L297", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_in", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L337", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_in", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L343", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_in", + "target": "models_qc_material_bizqcmaterialusage", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L369", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_in", + "target": "core_utils_generate_uuid", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L370", + "weight": 1.0 + }, + { + "source": "crud_qc_material_stock_out", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L409", + "weight": 1.0 + }, + { + "source": "crud_qc_material_stock_out", + "target": "models_qc_material_bizqcmaterialusage", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L439", + "weight": 1.0 + }, + { + "source": "crud_qc_material_stock_out", + "target": "core_utils_generate_uuid", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L440", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_out", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L485", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_out", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L491", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_out", + "target": "models_qc_material_bizqcmaterialusage", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L527", + "weight": 1.0 + }, + { + "source": "crud_qc_material_batch_stock_out", + "target": "core_utils_generate_uuid", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/qc_material.py", + "source_location": "L528", "weight": 1.0 }, { @@ -92705,7 +93514,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L75", + "source_location": "L111", "weight": 1.0 }, { @@ -92715,7 +93524,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L80", + "source_location": "L116", "weight": 1.0 }, { @@ -92725,7 +93534,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L80", + "source_location": "L116", "weight": 1.0 }, { @@ -92735,7 +93544,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L82", + "source_location": "L118", "weight": 1.0 }, { @@ -92745,7 +93554,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L82", + "source_location": "L118", "weight": 1.0 }, { @@ -92755,7 +93564,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L93", + "source_location": "L129", "weight": 1.0 }, { @@ -92765,7 +93574,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L94", + "source_location": "L130", "weight": 1.0 }, { @@ -92775,7 +93584,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L94", + "source_location": "L130", "weight": 1.0 }, { @@ -92785,7 +93594,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L96", + "source_location": "L132", "weight": 1.0 }, { @@ -92795,7 +93604,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L96", + "source_location": "L132", "weight": 1.0 }, { @@ -92805,7 +93614,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L106", + "source_location": "L142", "weight": 1.0 }, { @@ -92815,7 +93624,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L107", + "source_location": "L143", "weight": 1.0 }, { @@ -92825,99 +93634,99 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L112", - "weight": 1.0 - }, - { - "source": "api_material_create_material", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L114", - "weight": 1.0 - }, - { - "source": "api_material_create_material", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L114", - "weight": 1.0 - }, - { - "source": "api_material_update_material", - "target": "api_production_get_tenant_no", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L127", - "weight": 1.0 - }, - { - "source": "api_material_update_material", - "target": "api_sample_reception_get_current_user_id", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L128", - "weight": 1.0 - }, - { - "source": "api_material_update_material", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L133", - "weight": 1.0 - }, - { - "source": "api_material_update_material", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L135", - "weight": 1.0 - }, - { - "source": "api_material_update_material", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L135", - "weight": 1.0 - }, - { - "source": "api_material_delete_material", - "target": "api_production_get_tenant_no", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L147", - "weight": 1.0 - }, - { - "source": "api_material_delete_material", - "target": "api_sample_reception_get_current_user_id", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", "source_location": "L148", "weight": 1.0 }, + { + "source": "api_material_create_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L150", + "weight": 1.0 + }, + { + "source": "api_material_create_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L150", + "weight": 1.0 + }, + { + "source": "api_material_update_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L163", + "weight": 1.0 + }, + { + "source": "api_material_update_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L164", + "weight": 1.0 + }, + { + "source": "api_material_update_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L169", + "weight": 1.0 + }, + { + "source": "api_material_update_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L171", + "weight": 1.0 + }, + { + "source": "api_material_update_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L171", + "weight": 1.0 + }, + { + "source": "api_material_delete_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L183", + "weight": 1.0 + }, + { + "source": "api_material_delete_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L184", + "weight": 1.0 + }, { "source": "api_material_delete_material", "target": "crud_qc_material_soft_delete_material", @@ -92925,7 +93734,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L149", + "source_location": "L185", "weight": 1.0 }, { @@ -92935,7 +93744,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L150", + "source_location": "L186", "weight": 1.0 }, { @@ -92945,7 +93754,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L152", + "source_location": "L188", "weight": 1.0 }, { @@ -92955,7 +93764,147 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L152", + "source_location": "L188", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L200", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L201", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L204", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L206", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "crud_qc_material_batch_stock_in", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L212", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L220", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_in_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L222", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L234", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L235", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L238", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L240", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "crud_qc_material_batch_stock_out", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L246", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L256", + "weight": 1.0 + }, + { + "source": "api_material_batch_stock_out_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L258", "weight": 1.0 }, { @@ -92965,7 +93914,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L165", + "source_location": "L271", "weight": 1.0 }, { @@ -92975,7 +93924,27 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L166", + "source_location": "L272", + "weight": 1.0 + }, + { + "source": "api_material_stock_in_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L275", + "weight": 1.0 + }, + { + "source": "api_material_stock_in_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L277", "weight": 1.0 }, { @@ -92985,7 +93954,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L167", + "source_location": "L279", "weight": 1.0 }, { @@ -92995,17 +93964,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L171", - "weight": 1.0 - }, - { - "source": "api_material_stock_in_material", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L173", + "source_location": "L283", "weight": 1.0 }, { @@ -93015,7 +93974,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L173", + "source_location": "L285", "weight": 1.0 }, { @@ -93025,7 +93984,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L186", + "source_location": "L298", "weight": 1.0 }, { @@ -93035,27 +93994,17 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L187", + "source_location": "L299", "weight": 1.0 }, { "source": "api_material_stock_out_material", - "target": "crud_material_stock_out", + "target": "core_utils_parse_datetime", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L188", - "weight": 1.0 - }, - { - "source": "api_material_stock_out_material", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/material.py", - "source_location": "L193", + "source_location": "L302", "weight": 1.0 }, { @@ -93065,7 +94014,27 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L195", + "source_location": "L304", + "weight": 1.0 + }, + { + "source": "api_material_stock_out_material", + "target": "crud_qc_material_stock_out", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L306", + "weight": 1.0 + }, + { + "source": "api_material_stock_out_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/material.py", + "source_location": "L311", "weight": 1.0 }, { @@ -93075,7 +94044,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L195", + "source_location": "L313", "weight": 1.0 }, { @@ -93085,7 +94054,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L216", + "source_location": "L334", "weight": 1.0 }, { @@ -93095,7 +94064,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L222", + "source_location": "L340", "weight": 1.0 }, { @@ -93105,7 +94074,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L222", + "source_location": "L340", "weight": 1.0 }, { @@ -93115,7 +94084,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L224", + "source_location": "L342", "weight": 1.0 }, { @@ -93125,7 +94094,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/material.py", - "source_location": "L224", + "source_location": "L342", "weight": 1.0 }, { @@ -93135,7 +94104,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L73", + "source_location": "L76", "weight": 1.0 }, { @@ -93145,7 +94114,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L74", + "source_location": "L77", "weight": 1.0 }, { @@ -93155,7 +94124,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L78", + "source_location": "L81", "weight": 1.0 }, { @@ -93165,7 +94134,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L78", + "source_location": "L81", "weight": 1.0 }, { @@ -93175,7 +94144,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L80", + "source_location": "L83", "weight": 1.0 }, { @@ -93185,7 +94154,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L80", + "source_location": "L83", "weight": 1.0 }, { @@ -93195,7 +94164,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L91", + "source_location": "L94", "weight": 1.0 }, { @@ -93205,7 +94174,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L92", + "source_location": "L95", "weight": 1.0 }, { @@ -93215,7 +94184,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L92", + "source_location": "L95", "weight": 1.0 }, { @@ -93225,7 +94194,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L94", + "source_location": "L97", "weight": 1.0 }, { @@ -93235,7 +94204,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L94", + "source_location": "L97", "weight": 1.0 }, { @@ -93245,7 +94214,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L106", + "source_location": "L109", "weight": 1.0 }, { @@ -93255,7 +94224,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L107", + "source_location": "L110", "weight": 1.0 }, { @@ -93265,7 +94234,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L122", + "source_location": "L125", "weight": 1.0 }, { @@ -93275,7 +94244,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L124", + "source_location": "L127", "weight": 1.0 }, { @@ -93285,7 +94254,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L124", + "source_location": "L127", "weight": 1.0 }, { @@ -93295,7 +94264,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L126", + "source_location": "L129", "weight": 1.0 }, { @@ -93305,7 +94274,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L126", + "source_location": "L129", "weight": 1.0 }, { @@ -93315,7 +94284,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L141", + "source_location": "L144", "weight": 1.0 }, { @@ -93325,7 +94294,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L142", + "source_location": "L145", "weight": 1.0 }, { @@ -93335,7 +94304,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L157", + "source_location": "L160", "weight": 1.0 }, { @@ -93345,7 +94314,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L160", + "source_location": "L163", "weight": 1.0 }, { @@ -93355,7 +94324,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L160", + "source_location": "L163", "weight": 1.0 }, { @@ -93365,7 +94334,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L162", + "source_location": "L165", "weight": 1.0 }, { @@ -93375,7 +94344,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L162", + "source_location": "L165", "weight": 1.0 }, { @@ -93385,7 +94354,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L176", + "source_location": "L179", "weight": 1.0 }, { @@ -93395,7 +94364,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L177", + "source_location": "L180", "weight": 1.0 }, { @@ -93405,7 +94374,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L178", + "source_location": "L181", "weight": 1.0 }, { @@ -93415,7 +94384,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L180", + "source_location": "L183", "weight": 1.0 }, { @@ -93425,7 +94394,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L180", + "source_location": "L183", "weight": 1.0 }, { @@ -93435,7 +94404,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L225", + "source_location": "L228", "weight": 1.0 }, { @@ -93445,7 +94414,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L226", + "source_location": "L229", "weight": 1.0 }, { @@ -93455,7 +94424,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L236", + "source_location": "L239", "weight": 1.0 }, { @@ -93465,7 +94434,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L236", + "source_location": "L239", "weight": 1.0 }, { @@ -93475,7 +94444,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L238", + "source_location": "L241", "weight": 1.0 }, { @@ -93485,7 +94454,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L238", + "source_location": "L241", "weight": 1.0 }, { @@ -93495,7 +94464,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L250", + "source_location": "L253", "weight": 1.0 }, { @@ -93505,7 +94474,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L251", + "source_location": "L254", "weight": 1.0 }, { @@ -93515,7 +94484,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L251", + "source_location": "L254", "weight": 1.0 }, { @@ -93525,7 +94494,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L253", + "source_location": "L256", "weight": 1.0 }, { @@ -93535,7 +94504,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L253", + "source_location": "L256", "weight": 1.0 }, { @@ -93545,7 +94514,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L265", + "source_location": "L268", "weight": 1.0 }, { @@ -93555,7 +94524,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L266", + "source_location": "L269", "weight": 1.0 }, { @@ -93565,7 +94534,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L276", + "source_location": "L279", "weight": 1.0 }, { @@ -93575,7 +94544,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L278", + "source_location": "L281", "weight": 1.0 }, { @@ -93585,7 +94554,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L278", + "source_location": "L281", "weight": 1.0 }, { @@ -93595,7 +94564,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L280", + "source_location": "L283", "weight": 1.0 }, { @@ -93605,7 +94574,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L280", + "source_location": "L283", "weight": 1.0 }, { @@ -93615,7 +94584,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L295", + "source_location": "L298", "weight": 1.0 }, { @@ -93625,7 +94594,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L296", + "source_location": "L299", "weight": 1.0 }, { @@ -93635,7 +94604,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L306", + "source_location": "L309", "weight": 1.0 }, { @@ -93645,7 +94614,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L309", + "source_location": "L312", "weight": 1.0 }, { @@ -93655,7 +94624,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L309", + "source_location": "L312", "weight": 1.0 }, { @@ -93665,7 +94634,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L311", + "source_location": "L314", "weight": 1.0 }, { @@ -93675,7 +94644,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L311", + "source_location": "L314", "weight": 1.0 }, { @@ -93685,7 +94654,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L325", + "source_location": "L328", "weight": 1.0 }, { @@ -93695,7 +94664,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L326", + "source_location": "L329", "weight": 1.0 }, { @@ -93705,7 +94674,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L327", + "source_location": "L330", "weight": 1.0 }, { @@ -93715,7 +94684,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L329", + "source_location": "L332", "weight": 1.0 }, { @@ -93725,7 +94694,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L329", + "source_location": "L332", "weight": 1.0 }, { @@ -93735,7 +94704,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L393", + "source_location": "L396", "weight": 1.0 }, { @@ -93745,7 +94714,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L394", + "source_location": "L397", "weight": 1.0 }, { @@ -93755,7 +94724,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L398", + "source_location": "L401", "weight": 1.0 }, { @@ -93765,7 +94734,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L398", + "source_location": "L401", "weight": 1.0 }, { @@ -93775,7 +94744,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L400", + "source_location": "L403", "weight": 1.0 }, { @@ -93785,7 +94754,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L400", + "source_location": "L403", "weight": 1.0 }, { @@ -93795,7 +94764,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L411", + "source_location": "L414", "weight": 1.0 }, { @@ -93805,7 +94774,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L412", + "source_location": "L415", "weight": 1.0 }, { @@ -93815,7 +94784,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L412", + "source_location": "L415", "weight": 1.0 }, { @@ -93825,7 +94794,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L414", + "source_location": "L417", "weight": 1.0 }, { @@ -93835,7 +94804,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L414", + "source_location": "L417", "weight": 1.0 }, { @@ -93845,7 +94814,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L426", + "source_location": "L429", "weight": 1.0 }, { @@ -93855,7 +94824,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L427", + "source_location": "L430", "weight": 1.0 }, { @@ -93865,7 +94834,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L436", + "source_location": "L439", "weight": 1.0 }, { @@ -93875,7 +94844,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L438", + "source_location": "L441", "weight": 1.0 }, { @@ -93885,7 +94854,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L438", + "source_location": "L441", "weight": 1.0 }, { @@ -93895,7 +94864,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L440", + "source_location": "L443", "weight": 1.0 }, { @@ -93905,7 +94874,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L440", + "source_location": "L443", "weight": 1.0 }, { @@ -93915,7 +94884,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L455", + "source_location": "L458", "weight": 1.0 }, { @@ -93925,7 +94894,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L456", + "source_location": "L459", "weight": 1.0 }, { @@ -93935,7 +94904,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L465", + "source_location": "L468", "weight": 1.0 }, { @@ -93945,7 +94914,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L468", + "source_location": "L471", "weight": 1.0 }, { @@ -93955,7 +94924,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L468", + "source_location": "L471", "weight": 1.0 }, { @@ -93965,7 +94934,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L470", + "source_location": "L473", "weight": 1.0 }, { @@ -93975,7 +94944,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L470", + "source_location": "L473", "weight": 1.0 }, { @@ -93985,7 +94954,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L484", + "source_location": "L487", "weight": 1.0 }, { @@ -93995,7 +94964,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L485", + "source_location": "L488", "weight": 1.0 }, { @@ -94005,7 +94974,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L486", + "source_location": "L489", "weight": 1.0 }, { @@ -94015,7 +94984,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L488", + "source_location": "L491", "weight": 1.0 }, { @@ -94025,7 +94994,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L488", + "source_location": "L491", "weight": 1.0 }, { @@ -94035,7 +95004,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L506", + "source_location": "L509", "weight": 1.0 }, { @@ -94045,7 +95014,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L507", + "source_location": "L510", "weight": 1.0 }, { @@ -94055,7 +95024,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L507", + "source_location": "L510", "weight": 1.0 }, { @@ -94065,7 +95034,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L509", + "source_location": "L512", "weight": 1.0 }, { @@ -94075,7 +95044,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L509", + "source_location": "L512", "weight": 1.0 }, { @@ -94085,7 +95054,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L523", + "source_location": "L526", "weight": 1.0 }, { @@ -94095,7 +95064,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L524", + "source_location": "L527", "weight": 1.0 }, { @@ -94105,7 +95074,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L525", + "source_location": "L528", "weight": 1.0 }, { @@ -94115,7 +95084,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L525", + "source_location": "L528", "weight": 1.0 }, { @@ -94125,7 +95094,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L529", + "source_location": "L532", "weight": 1.0 }, { @@ -94135,7 +95104,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L529", + "source_location": "L532", "weight": 1.0 }, { @@ -94145,7 +95114,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L556", + "source_location": "L559", "weight": 1.0 }, { @@ -94155,7 +95124,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L557", + "source_location": "L560", "weight": 1.0 }, { @@ -94165,7 +95134,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L566", + "source_location": "L569", "weight": 1.0 }, { @@ -94175,7 +95144,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L566", + "source_location": "L569", "weight": 1.0 }, { @@ -94185,7 +95154,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L568", + "source_location": "L571", "weight": 1.0 }, { @@ -94195,7 +95164,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L568", + "source_location": "L571", "weight": 1.0 }, { @@ -94205,7 +95174,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L580", + "source_location": "L583", "weight": 1.0 }, { @@ -94215,7 +95184,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L581", + "source_location": "L584", "weight": 1.0 }, { @@ -94225,7 +95194,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L582", + "source_location": "L585", "weight": 1.0 }, { @@ -94235,7 +95204,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L584", + "source_location": "L587", "weight": 1.0 }, { @@ -94245,7 +95214,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L584", + "source_location": "L587", "weight": 1.0 }, { @@ -94255,7 +95224,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L599", + "source_location": "L602", "weight": 1.0 }, { @@ -94265,7 +95234,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L600", + "source_location": "L603", "weight": 1.0 }, { @@ -94275,7 +95244,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L608", + "source_location": "L611", "weight": 1.0 }, { @@ -94285,7 +95254,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L610", + "source_location": "L613", "weight": 1.0 }, { @@ -94295,7 +95264,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L610", + "source_location": "L613", "weight": 1.0 }, { @@ -94305,7 +95274,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L612", + "source_location": "L615", "weight": 1.0 }, { @@ -94315,7 +95284,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L612", + "source_location": "L615", "weight": 1.0 }, { @@ -94325,7 +95294,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L641", + "source_location": "L644", "weight": 1.0 }, { @@ -94335,7 +95304,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L642", + "source_location": "L645", "weight": 1.0 }, { @@ -94345,7 +95314,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L654", + "source_location": "L657", "weight": 1.0 }, { @@ -94355,7 +95324,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L654", + "source_location": "L657", "weight": 1.0 }, { @@ -94365,7 +95334,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L656", + "source_location": "L659", "weight": 1.0 }, { @@ -94375,7 +95344,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L656", + "source_location": "L659", "weight": 1.0 }, { @@ -94385,7 +95354,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L668", + "source_location": "L671", "weight": 1.0 }, { @@ -94395,7 +95364,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L669", + "source_location": "L672", "weight": 1.0 }, { @@ -94405,7 +95374,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L670", + "source_location": "L673", "weight": 1.0 }, { @@ -94415,7 +95384,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L672", + "source_location": "L675", "weight": 1.0 }, { @@ -94425,7 +95394,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L672", + "source_location": "L675", "weight": 1.0 }, { @@ -94435,7 +95404,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L686", + "source_location": "L689", "weight": 1.0 }, { @@ -94445,7 +95414,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L687", + "source_location": "L690", "weight": 1.0 }, { @@ -94455,7 +95424,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L687", + "source_location": "L690", "weight": 1.0 }, { @@ -94465,7 +95434,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L688", + "source_location": "L691", "weight": 1.0 }, { @@ -94475,7 +95444,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L688", + "source_location": "L691", "weight": 1.0 }, { @@ -94485,7 +95454,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L690", + "source_location": "L693", "weight": 1.0 }, { @@ -94495,7 +95464,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L690", + "source_location": "L693", "weight": 1.0 }, { @@ -94505,7 +95474,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L704", + "source_location": "L707", "weight": 1.0 }, { @@ -94515,7 +95484,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L705", + "source_location": "L708", "weight": 1.0 }, { @@ -94525,7 +95494,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L706", + "source_location": "L709", "weight": 1.0 }, { @@ -94535,7 +95504,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L708", + "source_location": "L711", "weight": 1.0 }, { @@ -94545,7 +95514,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L708", + "source_location": "L711", "weight": 1.0 }, { @@ -94555,7 +95524,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L710", + "source_location": "L713", "weight": 1.0 }, { @@ -94565,7 +95534,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L710", + "source_location": "L713", "weight": 1.0 }, { @@ -94575,7 +95544,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L724", + "source_location": "L727", "weight": 1.0 }, { @@ -94585,7 +95554,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L725", + "source_location": "L728", "weight": 1.0 }, { @@ -94595,7 +95564,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L725", + "source_location": "L728", "weight": 1.0 }, { @@ -94605,7 +95574,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L727", + "source_location": "L730", "weight": 1.0 }, { @@ -94615,7 +95584,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L727", + "source_location": "L730", "weight": 1.0 }, { @@ -94625,7 +95594,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L740", + "source_location": "L743", "weight": 1.0 }, { @@ -94635,32 +95604,22 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L741", - "weight": 1.0 - }, - { - "source": "api_qc_complete_task_with_result", - "target": "crud_workflow_get_task", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L742", - "weight": 1.0 - }, - { - "source": "api_qc_complete_task_with_result", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", "source_location": "L744", "weight": 1.0 }, { "source": "api_qc_complete_task_with_result", - "target": "crud_qc_task_result_save_results_for_task", + "target": "crud_workflow_get_task", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L745", + "weight": 1.0 + }, + { + "source": "api_qc_complete_task_with_result", + "target": "core_response_error_response", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, @@ -94668,6 +95627,16 @@ "source_location": "L747", "weight": 1.0 }, + { + "source": "api_qc_complete_task_with_result", + "target": "crud_qc_task_result_save_results_for_task", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L750", + "weight": 1.0 + }, { "source": "api_qc_complete_task_with_result", "target": "crud_qc_task_update_task_attachments", @@ -94675,7 +95644,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L752", + "source_location": "L755", "weight": 1.0 }, { @@ -94685,7 +95654,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L760", + "source_location": "L763", "weight": 1.0 }, { @@ -94695,7 +95664,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L768", + "source_location": "L771", "weight": 1.0 }, { @@ -94705,7 +95674,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L776", + "source_location": "L779", "weight": 1.0 }, { @@ -94715,7 +95684,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L777", + "source_location": "L780", "weight": 1.0 }, { @@ -94725,7 +95694,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L781", + "source_location": "L784", "weight": 1.0 }, { @@ -94735,7 +95704,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L796", + "source_location": "L799", "weight": 1.0 }, { @@ -94745,7 +95714,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L797", + "source_location": "L800", "weight": 1.0 }, { @@ -94755,7 +95724,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L802", + "source_location": "L805", "weight": 1.0 }, { @@ -94765,7 +95734,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L804", + "source_location": "L807", "weight": 1.0 }, { @@ -94775,7 +95744,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L804", + "source_location": "L807", "weight": 1.0 }, { @@ -94785,7 +95754,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L806", + "source_location": "L809", "weight": 1.0 }, { @@ -94795,7 +95764,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L806", + "source_location": "L809", "weight": 1.0 }, { @@ -94805,7 +95774,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L854", + "source_location": "L897", "weight": 1.0 }, { @@ -94815,7 +95784,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L855", + "source_location": "L898", "weight": 1.0 }, { @@ -94825,7 +95794,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L859", + "source_location": "L902", "weight": 1.0 }, { @@ -94835,7 +95804,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L859", + "source_location": "L902", "weight": 1.0 }, { @@ -94845,7 +95814,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L861", + "source_location": "L904", "weight": 1.0 }, { @@ -94855,7 +95824,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L861", + "source_location": "L904", "weight": 1.0 }, { @@ -94865,7 +95834,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L872", + "source_location": "L915", "weight": 1.0 }, { @@ -94875,7 +95844,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L873", + "source_location": "L916", "weight": 1.0 }, { @@ -94885,7 +95854,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L873", + "source_location": "L916", "weight": 1.0 }, { @@ -94895,7 +95864,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L875", + "source_location": "L918", "weight": 1.0 }, { @@ -94905,7 +95874,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L875", + "source_location": "L918", "weight": 1.0 }, { @@ -94915,7 +95884,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L885", + "source_location": "L928", "weight": 1.0 }, { @@ -94925,7 +95894,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L886", + "source_location": "L929", "weight": 1.0 }, { @@ -94935,7 +95904,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L887", + "source_location": "L930", "weight": 1.0 }, { @@ -94945,7 +95914,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L888", + "source_location": "L931", "weight": 1.0 }, { @@ -94955,7 +95924,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L890", + "source_location": "L933", "weight": 1.0 }, { @@ -94965,7 +95934,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L890", + "source_location": "L933", "weight": 1.0 }, { @@ -94975,7 +95944,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L903", + "source_location": "L946", "weight": 1.0 }, { @@ -94985,7 +95954,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L904", + "source_location": "L947", "weight": 1.0 }, { @@ -94995,7 +95964,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L905", + "source_location": "L948", "weight": 1.0 }, { @@ -95005,7 +95974,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L906", + "source_location": "L949", "weight": 1.0 }, { @@ -95015,7 +95984,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L908", + "source_location": "L951", "weight": 1.0 }, { @@ -95025,7 +95994,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L908", + "source_location": "L951", "weight": 1.0 }, { @@ -95035,129 +96004,369 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L920", - "weight": 1.0 - }, - { - "source": "api_qc_delete_qc_material", - "target": "api_sample_reception_get_current_user_id", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L921", - "weight": 1.0 - }, - { - "source": "api_qc_delete_qc_material", - "target": "crud_qc_material_soft_delete_material", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L922", - "weight": 1.0 - }, - { - "source": "api_qc_delete_qc_material", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L923", - "weight": 1.0 - }, - { - "source": "api_qc_delete_qc_material", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L925", - "weight": 1.0 - }, - { - "source": "api_qc_delete_qc_material", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L925", - "weight": 1.0 - }, - { - "source": "api_qc_stock_in_qc_material", - "target": "api_production_get_tenant_no", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L938", - "weight": 1.0 - }, - { - "source": "api_qc_stock_in_qc_material", - "target": "api_sample_reception_get_current_user_id", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L939", - "weight": 1.0 - }, - { - "source": "api_qc_stock_in_qc_material", - "target": "crud_qc_material_stock_in", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L940", - "weight": 1.0 - }, - { - "source": "api_qc_stock_in_qc_material", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L941", - "weight": 1.0 - }, - { - "source": "api_qc_stock_in_qc_material", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L943", - "weight": 1.0 - }, - { - "source": "api_qc_stock_in_qc_material", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", - "source_location": "L943", - "weight": 1.0 - }, - { - "source": "api_qc_list_qc_material_usages", - "target": "api_production_get_tenant_no", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/qc.py", "source_location": "L963", "weight": 1.0 }, + { + "source": "api_qc_delete_qc_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L964", + "weight": 1.0 + }, + { + "source": "api_qc_delete_qc_material", + "target": "crud_qc_material_soft_delete_material", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L965", + "weight": 1.0 + }, + { + "source": "api_qc_delete_qc_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L966", + "weight": 1.0 + }, + { + "source": "api_qc_delete_qc_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L968", + "weight": 1.0 + }, + { + "source": "api_qc_delete_qc_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L968", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L980", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L981", + "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": "L984", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L986", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "crud_qc_material_batch_stock_in", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L992", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1000", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_in_qc_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1002", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1014", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1015", + "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": "L1018", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1020", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "crud_qc_material_batch_stock_out", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1026", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1036", + "weight": 1.0 + }, + { + "source": "api_qc_batch_stock_out_qc_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1038", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1051", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1052", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1055", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1057", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "crud_qc_material_stock_in", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1061", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1064", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1070", + "weight": 1.0 + }, + { + "source": "api_qc_stock_in_qc_material", + "target": "crud_exhibition_appointment_row_to_dict", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1070", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1085", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "api_sample_reception_get_current_user_id", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1086", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "core_utils_parse_datetime", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1089", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1091", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "crud_qc_material_stock_out", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1095", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1098", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1106", + "weight": 1.0 + }, + { + "source": "api_qc_stock_out_qc_material", + "target": "crud_exhibition_appointment_row_to_dict", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1106", + "weight": 1.0 + }, + { + "source": "api_qc_list_qc_material_usages", + "target": "api_production_get_tenant_no", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/qc.py", + "source_location": "L1128", + "weight": 1.0 + }, { "source": "api_qc_list_qc_material_usages", "target": "crud_qc_material_usage_list_usages", @@ -95165,7 +96374,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L964", + "source_location": "L1129", "weight": 1.0 }, { @@ -95175,7 +96384,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L970", + "source_location": "L1135", "weight": 1.0 }, { @@ -95185,7 +96394,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L970", + "source_location": "L1135", "weight": 1.0 }, { @@ -95195,7 +96404,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L972", + "source_location": "L1137", "weight": 1.0 }, { @@ -95205,7 +96414,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/qc.py", - "source_location": "L972", + "source_location": "L1137", "weight": 1.0 }, { diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index 3c2254945..c38310728 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,12 +1,12 @@ # Graph Report - app (2026-05-20) ## Corpus Check -- 135 files · ~115,043 words +- 135 files · ~116,836 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 2331 nodes · 9069 edges · 53 communities detected -- Extraction: 42% EXTRACTED · 58% INFERRED · 0% AMBIGUOUS · INFERRED: 5247 edges (avg confidence: 0.63) +- 2356 nodes · 9172 edges · 54 communities detected +- Extraction: 42% EXTRACTED · 58% INFERRED · 0% AMBIGUOUS · INFERRED: 5313 edges (avg confidence: 0.64) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) @@ -57,24 +57,25 @@ - [[_COMMUNITY_Community 44|Community 44]] - [[_COMMUNITY_Community 45|Community 45]] - [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 49|Community 49]] +- [[_COMMUNITY_Community 47|Community 47]] - [[_COMMUNITY_Community 50|Community 50]] - [[_COMMUNITY_Community 51|Community 51]] - [[_COMMUNITY_Community 52|Community 52]] - [[_COMMUNITY_Community 53|Community 53]] - [[_COMMUNITY_Community 54|Community 54]] +- [[_COMMUNITY_Community 55|Community 55]] ## God Nodes (most connected - your core abstractions) -1. `success_response()` - 370 edges -2. `error_response()` - 296 edges +1. `success_response()` - 375 edges +2. `error_response()` - 301 edges 3. `SysUser` - 211 edges -4. `BizQcTaskResult` - 193 edges -5. `BizQcMaterialUsage` - 190 edges -6. `BizMaterialStockLog` - 189 edges -7. `BizQcMaterial` - 189 edges -8. `BizMaterial` - 188 edges +4. `BizMaterialStockLog` - 193 edges +5. `BizQcTaskResult` - 193 edges +6. `BizQcMaterialUsage` - 193 edges +7. `BizMaterial` - 190 edges +8. `BizQcMaterial` - 189 edges 9. `BizQcItemParam` - 188 edges -10. `generate_uuid()` - 124 edges +10. `generate_uuid()` - 129 edges ## Surprising Connections (you probably didn't know these) - `统一记录 API 请求/响应出入参的中间件` --uses--> `SysApiRequestLog` [INFERRED] @@ -92,71 +93,71 @@ ### Community 0 - "Community 0" Cohesion: 0.02 -Nodes (371): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+363 more) +Nodes (413): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+405 more) ### Community 1 - "Community 1" Cohesion: 0.01 -Nodes (352): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+344 more) +Nodes (380): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+372 more) ### Community 2 - "Community 2" -Cohesion: 0.04 -Nodes (219): CellSampleTypeCreateBody, CellSampleTypeUpdateBody, CollectionRegionCreateBody, CollectionRegionUpdateBody, CustomerCreateBody, CustomerUpdateBody, HospitalCreateBody, HospitalUpdateBody (+211 more) +Cohesion: 0.02 +Nodes (214): apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), generate_uuid(), delete(), get_multi_with_filters(), _access_log_to_dict() (+206 more) ### Community 3 - "Community 3" Cohesion: 0.06 -Nodes (217): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, 运营支撑 API(洁净室、进出记录、仓储设施、储位、展厅预约), StorageFacilityCreateBody (+209 more) +Nodes (213): InsuranceCompanyCreateBody, InsuranceCompanyInvoiceCreateBody, InsuranceCompanyInvoiceUpdateBody, InsuranceCompanyUpdateBody, InsuranceProjectPriceCreateBody, InsuranceProjectPriceUpdateBody, 保险公司及险种价格管理 API(保险公司 + 开票信息 + 险种价格), AccessLogCreateBody (+205 more) ### Community 4 - "Community 4" -Cohesion: 0.02 -Nodes (148): list_ethnics_for_select(), get_designer_data(), apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), delete(), get_multi_with_filters() (+140 more) +Cohesion: 0.09 +Nodes (127): CellSampleTypeCreateBody, CellSampleTypeUpdateBody, CollectionRegionCreateBody, CollectionRegionUpdateBody, CustomerCreateBody, CustomerUpdateBody, HospitalCreateBody, HospitalUpdateBody (+119 more) ### Community 5 - "Community 5" Cohesion: 0.03 -Nodes (141): generate_uuid(), create_consumable_pack(), get_consumable_pack(), get_pack_detail(), _item_row_to_dict(), list_all_packs(), list_consumable_packs(), pack_code_exists() (+133 more) +Nodes (63): get_designer_data(), ApiRequestLogMiddleware, _claims_from_auth(), _format_body_bytes(), _persist_log(), 统一记录 API 请求/响应出入参的中间件, _redact_obj(), _schedule_persist_log() (+55 more) ### Community 6 - "Community 6" -Cohesion: 0.05 -Nodes (83): _format_attachment_file_size(), get_protocol_nos_used_in_protocols(), urls_to_attachment_list(), complete_production_work_order(), create_production_work_order_from_reception(), _fmt_dt(), _generate_work_order_no(), get_production_work_order() (+75 more) +Cohesion: 0.04 +Nodes (64): get_role_data_scope(), get_role_menus(), generate_id(), camel_to_snake(), CRUDBase, get_model_attr(), HistoryCRUD, get_protocol_nos_used_in_protocols() (+56 more) ### Community 7 - "Community 7" -Cohesion: 0.04 -Nodes (65): list_roles_for_select(), _avatar_url_field(), _build_user_info_payload(), get_web_auth_menu_codes(), _jwt_user_payload(), logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/zkxw.sql 基线), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。 (+57 more) +Cohesion: 0.06 +Nodes (78): _persist_protocol_sub_resources(), _add_months_yyyymmdd(), align_fq_payment_details_payload(), _apply_submit_receipt_finance(), _apply_submit_refund_finance(), attachments_to_urls(), _audit_to_dict(), batch_submit_receipt_finance() (+70 more) ### Community 8 - "Community 8" -Cohesion: 0.05 -Nodes (26): BusinessException, InvalidStatusTransitionException, log_delivery_operation(), log_operation(), log_order_operation(), log_settlement_operation(), log_user_operation(), OrderLockedException (+18 more) +Cohesion: 0.07 +Nodes (70): _format_attachment_file_size(), urls_to_attachment_list(), apply_task_result(), complete_task(), _conclusion_label(), create_task_for_line(), _dec(), _enrich_tasks_reception_fields() (+62 more) ### Community 9 - "Community 9" +Cohesion: 0.05 +Nodes (58): _avatar_url_field(), _build_user_info_payload(), get_web_auth_menu_codes(), _jwt_user_payload(), logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/zkxw.sql 基线), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 获取当前用户菜单权限标识(sys_menu.perms,经角色继承)。 (+50 more) + +### Community 10 - "Community 10" Cohesion: 0.43 Nodes (45): ConsumableCreateBody, ConsumablePackCreateBody, ConsumablePackUpdateBody, ConsumableUpdateBody, OutputTypeCreateBody, OutputTypeUpdateBody, PackItemInput, ProcessCategoryCreateBody (+37 more) -### Community 10 - "Community 10" -Cohesion: 0.1 -Nodes (47): AuditSubmitBody, batch_delete_research_donations(), BatchDeleteBody, change_donation_status(), convert_from_storage(), convert_to_storage(), ConvertFromStorageBody, create_research_donation() (+39 more) - ### Community 11 - "Community 11" -Cohesion: 0.08 -Nodes (36): BaseHTTPMiddleware, parse_admin_request_json(), 运营 Web(/web/admin)JSON 请求体解析。 与 ApiCryptoMiddleware 配合:中间件未改写 body 时,在路由内解密 `, 读取 JSON body;dict 时走 resolve_request_payload(明文 / 密文 / data 包装)。 Returns:, ApiCryptoError, _b64url_decode(), _b64url_encode(), decrypt_json() (+28 more) +Cohesion: 0.15 +Nodes (32): _audit_to_dict(), batch_delete_donations(), _collection_to_dict(), _create_collection(), create_donation(), _create_party(), _create_samples(), _create_transport() (+24 more) ### Community 12 - "Community 12" -Cohesion: 0.16 -Nodes (32): _create_insurance_company(), _create_insurance_company_invoice(), _create_insurance_project_price(), delete_insurance_company(), delete_insurance_company_invoice(), delete_insurance_project_price(), _fmt_dt(), _generate_uuid() (+24 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 13 - "Community 13" -Cohesion: 0.13 -Nodes (9): 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, 生成签名 V3 (SHA256 with RSA), wechat_pay(), WechatPayClient (+1 more) +Cohesion: 0.1 +Nodes (26): BaseHTTPMiddleware, parse_admin_request_json(), 运营 Web(/web/admin)JSON 请求体解析。 与 ApiCryptoMiddleware 配合:中间件未改写 body 时,在路由内解密 `, 读取 JSON body;dict 时走 resolve_request_payload(明文 / 密文 / data 包装)。 Returns:, ApiCryptoError, _b64url_decode(), _b64url_encode(), decrypt_json() (+18 more) ### Community 14 - "Community 14" +Cohesion: 0.17 +Nodes (12): BusinessException, InvalidStatusTransitionException, log_delivery_operation(), log_operation(), log_order_operation(), log_settlement_operation(), log_user_operation(), OrderLockedException (+4 more) + +### Community 15 - "Community 15" Cohesion: 0.18 Nodes (18): company_code_exists(), create_company(), get_company(), list_companies(), list_company_options(), _row_to_dict(), soft_delete_company(), update_company() (+10 more) -### Community 15 - "Community 15" -Cohesion: 0.22 -Nodes (14): batch_generate_sample_codes(), batch_issue_sample_codes(), batch_revoke_sample_codes(), create_sample_code(), get_sample_code(), list_sample_codes(), _parse_issued_time(), 样本编码池 CRUD(biz_sample_code) (+6 more) - ### Community 16 - "Community 16" -Cohesion: 0.21 -Nodes (13): _access_log_to_dict(), create_access_log(), create_clean_room(), get_access_log(), get_clean_room(), list_access_logs(), list_clean_rooms(), room_code_exists() (+5 more) +Cohesion: 0.22 +Nodes (18): _consumable_row_to_dict(), create_process(), _create_sub_consumable(), _create_sub_data_collection(), _create_sub_output(), _create_sub_reagent(), _data_collection_row_to_dict(), get_process() (+10 more) ### Community 17 - "Community 17" Cohesion: 0.21 @@ -167,72 +168,72 @@ Cohesion: 0.25 Nodes (13): batch_issue_protocol_nos(), batch_revoke_protocol_nos(), create_protocol_no(), get_protocol_no(), list_protocol_nos(), _parse_issued_time(), protocol_no_exists(), 采集协议号池 CRUD(biz_collection_protocol_no) (+5 more) ### Community 19 - "Community 19" +Cohesion: 0.26 +Nodes (12): batch_issue_sample_codes(), batch_revoke_sample_codes(), create_sample_code(), get_sample_code(), list_sample_codes(), _parse_issued_time(), 样本编码池 CRUD(biz_sample_code), _resolve_issued_user_display_name() (+4 more) + +### Community 20 - "Community 20" Cohesion: 0.24 Nodes (9): 微信消息通知服务 支持微信小程序模板消息推送 使用方式: from app.core.wechat_message import Wech, 发送模板消息 Args: openid: 用户openid templ, send_delivery_notice(), send_delivery_warning(), send_order_status(), send_payment_success(), send_refund_result(), send_urge_notification() (+1 more) -### Community 20 - "Community 20" +### Community 21 - "Community 21" Cohesion: 0.23 Nodes (12): Config, ProductBase, ProductCategoryBase, ProductCategoryCreate, ProductCategoryResponse, ProductCreate, ProductResponse, ProductUnitBase (+4 more) -### Community 21 - "Community 21" -Cohesion: 0.27 -Nodes (11): _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept(), get_dept(), list_depts(), list_depts_tree(), 保留匹配节点及其全部上级,供关键词检索后仍能正确组树。 (+3 more) - ### Community 22 - "Community 22" -Cohesion: 0.29 -Nodes (9): _build_tree(), _cascade_soft_delete(), create_menu(), get_menu(), list_menus(), list_menus_tree(), _row_to_dict(), soft_delete_menu() (+1 more) +Cohesion: 0.31 +Nodes (12): _code_exists(), create_material(), _dec(), _fmt_dt(), get_material(), list_materials(), options_list(), _row_to_dict() (+4 more) ### Community 23 - "Community 23" -Cohesion: 0.31 -Nodes (8): consumable_code_exists(), create_consumable(), get_consumable(), list_consumables(), 耗材 CRUD(biz_consumable), _row_to_dict(), soft_delete_consumable(), update_consumable() +Cohesion: 0.24 +Nodes (12): list_depts(), _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept(), get_dept(), list_depts(), list_depts_tree() (+4 more) ### Community 24 - "Community 24" -Cohesion: 0.31 -Nodes (8): create_sop_document(), get_sop_document(), list_sop_documents(), SOP文档 CRUD(biz_sop_document), _row_to_dict(), soft_delete_sop_document(), sop_code_exists(), update_sop_document() +Cohesion: 0.26 +Nodes (10): list_menus(), _build_tree(), _cascade_soft_delete(), create_menu(), get_menu(), list_menus(), list_menus_tree(), _row_to_dict() (+2 more) ### Community 25 - "Community 25" -Cohesion: 0.31 -Nodes (8): create_express_company(), express_code_exists(), get_express_company(), list_express_companies(), 快递公司 CRUD(biz_express_company), _row_to_dict(), soft_delete_express_company(), update_express_company() +Cohesion: 0.24 +Nodes (11): appointment_no_exists(), create_exhibition_appointment(), _format_visit_date(), _generate_appointment_no(), get_exhibition_appointment(), list_exhibition_appointments(), 展览预约 CRUD(biz_exhibition_appointment), 生成预约编号:YYYYMMDD + 6位序号(如 20260515000001) (+3 more) ### Community 26 - "Community 26" -Cohesion: 0.38 -Nodes (9): create_check_item(), get_check_item(), item_code_exists(), list_active_check_items(), list_check_items(), _order_query(), _row_to_dict(), soft_delete_check_item() (+1 more) +Cohesion: 0.24 +Nodes (9): dict_data_options(), create_dict_data(), get_dict_data(), list_dict_data(), list_dict_data_options(), 字典数据 CRUD(sys_dict_data), _row_to_dict(), soft_delete_dict_data() (+1 more) ### Community 27 - "Community 27" Cohesion: 0.27 -Nodes (8): create_dict_data(), get_dict_data(), list_dict_data(), list_dict_data_options(), 字典数据 CRUD(sys_dict_data), _row_to_dict(), soft_delete_dict_data(), update_dict_data() +Nodes (9): _ensure_customer_for_mother(), create_customer(), get_customer(), id_card_taken(), list_customers(), 客户 CRUD(biz_customer), _row_to_dict(), soft_delete_customer() (+1 more) ### Community 28 - "Community 28" Cohesion: 0.31 -Nodes (8): category_code_exists(), create_process_category(), get_process_category(), list_process_categories(), 工艺工序分类 CRUD(biz_process_category), _row_to_dict(), soft_delete_process_category(), update_process_category() +Nodes (8): consumable_code_exists(), create_consumable(), get_consumable(), list_consumables(), 耗材 CRUD(biz_consumable), _row_to_dict(), soft_delete_consumable(), update_consumable() ### Community 29 - "Community 29" Cohesion: 0.31 -Nodes (8): create_item_unit(), get_item_unit(), list_item_units(), 物品单位 CRUD(biz_item_unit), _row_to_dict(), soft_delete_item_unit(), unit_code_exists(), update_item_unit() +Nodes (8): create_express_company(), express_code_exists(), get_express_company(), list_express_companies(), 快递公司 CRUD(biz_express_company), _row_to_dict(), soft_delete_express_company(), update_express_company() ### Community 30 - "Community 30" -Cohesion: 0.31 -Nodes (8): create_customer(), get_customer(), id_card_taken(), list_customers(), 客户 CRUD(biz_customer), _row_to_dict(), soft_delete_customer(), update_customer() +Cohesion: 0.38 +Nodes (9): create_check_item(), get_check_item(), item_code_exists(), list_active_check_items(), list_check_items(), _order_query(), _row_to_dict(), soft_delete_check_item() (+1 more) ### Community 31 - "Community 31" Cohesion: 0.31 -Nodes (9): appointment_no_exists(), create_exhibition_appointment(), _generate_appointment_no(), get_exhibition_appointment(), list_exhibition_appointments(), 展览预约 CRUD(biz_exhibition_appointment), 生成预约编号:YYYYMMDD + 6位序号(如 20260515000001), soft_delete_exhibition_appointment() (+1 more) +Nodes (8): category_code_exists(), create_process_category(), get_process_category(), list_process_categories(), 工艺工序分类 CRUD(biz_process_category), _row_to_dict(), soft_delete_process_category(), update_process_category() ### Community 32 - "Community 32" Cohesion: 0.31 -Nodes (8): create_cell_sample_type(), get_cell_sample_type(), list_cell_sample_types(), 细胞样本类型 CRUD(biz_cell_sample_type), _row_to_dict(), soft_delete_cell_sample_type(), type_code_exists(), update_cell_sample_type() +Nodes (8): create_item_unit(), get_item_unit(), list_item_units(), 物品单位 CRUD(biz_item_unit), _row_to_dict(), soft_delete_item_unit(), unit_code_exists(), update_item_unit() ### Community 33 - "Community 33" Cohesion: 0.31 -Nodes (8): create_output_type(), get_output_type(), list_output_types(), 工艺产出物类型 CRUD(biz_output_type), _row_to_dict(), soft_delete_output_type(), type_code_exists(), update_output_type() +Nodes (8): create_cell_sample_type(), get_cell_sample_type(), list_cell_sample_types(), 细胞样本类型 CRUD(biz_cell_sample_type), _row_to_dict(), soft_delete_cell_sample_type(), type_code_exists(), update_cell_sample_type() ### Community 34 - "Community 34" -Cohesion: 0.36 -Nodes (7): create_post(), get_post(), list_posts(), post_code_exists(), _row_to_dict(), soft_delete_post(), update_post() +Cohesion: 0.31 +Nodes (8): create_output_type(), get_output_type(), list_output_types(), 工艺产出物类型 CRUD(biz_output_type), _row_to_dict(), soft_delete_output_type(), type_code_exists(), update_output_type() ### Community 35 - "Community 35" Cohesion: 0.36 -Nodes (7): create_dict_type(), dict_type_code_exists(), get_dict_type(), list_dict_types(), _row_to_dict(), soft_delete_dict_type(), update_dict_type() +Nodes (7): create_post(), get_post(), list_posts(), post_code_exists(), _row_to_dict(), soft_delete_post(), update_post() ### Community 36 - "Community 36" Cohesion: 0.36 @@ -243,13 +244,13 @@ Cohesion: 0.36 Nodes (7): create_reagent(), get_reagent(), list_reagents(), reagent_code_exists(), _row_to_dict(), soft_delete_reagent(), update_reagent() ### Community 38 - "Community 38" -Cohesion: 0.36 -Nodes (7): create_site(), get_site(), list_sites(), _row_to_dict(), site_code_exists(), soft_delete_site(), update_site() - -### Community 39 - "Community 39" Cohesion: 0.31 Nodes (7): create_cell_product(), delete_cell_product(), get_cell_product(), list_cell_products(), 细胞产品 CRUD(biz_cell_product), _row_to_dict(), update_cell_product() +### Community 39 - "Community 39" +Cohesion: 0.36 +Nodes (7): create_site(), get_site(), list_sites(), _row_to_dict(), site_code_exists(), soft_delete_site(), update_site() + ### Community 40 - "Community 40" Cohesion: 0.29 Nodes (2): BaseModel, SoftDeleteModel @@ -259,89 +260,93 @@ Cohesion: 0.38 Nodes (6): derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。, ThreeStatus, _to_decimal() ### Community 42 - "Community 42" -Cohesion: 0.5 -Nodes (3): BaseSettings, Config, Settings +Cohesion: 0.4 +Nodes (4): list_ethnics_for_select(), list_ethnics(), 民族码表 CRUD(全局 sys_ethnic), _row_to_dict() ### Community 43 - "Community 43" Cohesion: 0.5 -Nodes (2): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID +Nodes (3): BaseSettings, Config, Settings ### Community 44 - "Community 44" +Cohesion: 0.5 +Nodes (2): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID + +### Community 45 - "Community 45" Cohesion: 0.67 Nodes (2): get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,供后端菜单模式联调) -### Community 45 - "Community 45" +### Community 46 - "Community 46" Cohesion: 1.0 Nodes (1): 请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传 -### Community 46 - "Community 46" +### Community 47 - "Community 47" Cohesion: 1.0 Nodes (1): API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位) -### Community 49 - "Community 49" +### Community 50 - "Community 50" Cohesion: 1.0 Nodes (1): 发送订单状态通知 Args: openid: 用户openid ord -### Community 50 - "Community 50" +### Community 51 - "Community 51" Cohesion: 1.0 Nodes (1): 发送支付成功通知 Args: openid: 用户openid ord -### Community 51 - "Community 51" +### Community 52 - "Community 52" Cohesion: 1.0 Nodes (1): 发送配送通知 Args: openid: 配送员openid task -### Community 52 - "Community 52" +### Community 53 - "Community 53" Cohesion: 1.0 Nodes (1): 发送配送时效预警 Args: openid: 配送员openid ta -### Community 53 - "Community 53" +### Community 54 - "Community 54" Cohesion: 1.0 Nodes (1): 发送退款结果通知 Args: openid: 用户openid ord -### Community 54 - "Community 54" +### Community 55 - "Community 55" Cohesion: 1.0 Nodes (1): 发送催单通知给配送员 Args: deliver_openid: 配送员openid ## Knowledge Gaps -- **86 isolated node(s):** `刷新会话 TTL(refreshToken 续期;已登录用户每次 API 校验通过后滑动续期)`, `写入 refreshToken(用于 one-time 使用/吊销)`, `根据 token 获取当前用户(包含 Redis 会话校验;会话滑动续期)`, `登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。`, `Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。` (+81 more) +- **88 isolated node(s):** `刷新会话 TTL(refreshToken 续期;已登录用户每次 API 校验通过后滑动续期)`, `写入 refreshToken(用于 one-time 使用/吊销)`, `根据 token 获取当前用户(包含 Redis 会话校验;会话滑动续期)`, `登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。`, `Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。` (+83 more) These have ≤1 connection - possible missing edges or undocumented components. - **Thin community `Community 40`** (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 43`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` +- **Thin community `Community 44`** (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 44`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,供后端菜单模式联调)` +- **Thin community `Community 45`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,供后端菜单模式联调)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 45`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` +- **Thin community `Community 46`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 46`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` +- **Thin community `Community 47`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 49`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` +- **Thin community `Community 50`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 50`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` +- **Thin community `Community 51`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 51`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` +- **Thin community `Community 52`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 52`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` +- **Thin community `Community 53`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 53`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` +- **Thin community `Community 54`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 54`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` +- **Thin community `Community 55`** (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 `generate_uuid()` connect `Community 5` to `Community 0`, `Community 2`, `Community 3`, `Community 4`, `Community 6`, `Community 7`, `Community 10`, `Community 11`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 21`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 32`, `Community 33`, `Community 34`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 39`?** - _High betweenness centrality (0.115) - this node is a cross-community bridge._ -- **Why does `SysUser` connect `Community 1` to `Community 2`, `Community 3`, `Community 5`, `Community 7`, `Community 9`, `Community 10`, `Community 12`, `Community 15`, `Community 18`?** - _High betweenness centrality (0.092) - this node is a cross-community bridge._ -- **Why does `success_response()` connect `Community 0` to `Community 1`, `Community 2`, `Community 4`, `Community 7`, `Community 10`, `Community 44`, `Community 12`?** - _High betweenness centrality (0.056) - this node is a cross-community bridge._ -- **Are the 369 inferred relationships involving `success_response()` (e.g. with `web_login_rsa_public_key()` and `web_login()`) actually correct?** - _`success_response()` has 369 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 334 inferred relationships involving `str` (e.g. with `extract_login_credentials()` and `._make_request()`) actually correct?** - _`str` has 334 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 295 inferred relationships involving `error_response()` (e.g. with `_json_error_response()` and `web_login()`) actually correct?** - _`error_response()` has 295 INFERRED edges - model-reasoned connections that need verification._ +- **Why does `generate_uuid()` connect `Community 2` to `Community 0`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 11`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 32`, `Community 33`, `Community 34`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 39`?** + _High betweenness centrality (0.105) - this node is a cross-community bridge._ +- **Why does `SysUser` connect `Community 1` to `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 9`, `Community 10`, `Community 18`, `Community 19`?** + _High betweenness centrality (0.074) - this node is a cross-community bridge._ +- **Why does `success_response()` connect `Community 0` to `Community 1`, `Community 5`, `Community 6`, `Community 9`, `Community 42`, `Community 45`, `Community 23`, `Community 24`, `Community 26`?** + _High betweenness centrality (0.060) - this node is a cross-community bridge._ +- **Are the 374 inferred relationships involving `success_response()` (e.g. with `web_login_rsa_public_key()` and `web_login()`) actually correct?** + _`success_response()` has 374 INFERRED edges - model-reasoned connections that need verification._ +- **Are the 346 inferred relationships involving `str` (e.g. with `extract_login_credentials()` and `._make_request()`) actually correct?** + _`str` has 346 INFERRED edges - model-reasoned connections that need verification._ +- **Are the 300 inferred relationships involving `error_response()` (e.g. with `_json_error_response()` and `web_login()`) actually correct?** + _`error_response()` has 300 INFERRED edges - model-reasoned connections that need verification._ - **Are the 209 inferred relationships involving `SysUser` (e.g. with `数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3` and `从 SysUser 读取用户的 dept_id。`) actually correct?** _`SysUser` has 209 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index f9bfe9f06..958d0abe0 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -57,12 +57,12 @@
-
2331 nodes · 9069 edges · 59 communities
+
2356 nodes · 9172 edges · 60 communities
diff --git a/web-admin/src/views/cell-storage/material/index.vue b/web-admin/src/views/cell-storage/material/index.vue index 75e934373..19ddafbd9 100644 --- a/web-admin/src/views/cell-storage/material/index.vue +++ b/web-admin/src/views/cell-storage/material/index.vue @@ -3,7 +3,7 @@ +