Files
zkxw/backend/app/graphify-out/cache/ast/b9f443a977a6585ad777cc9917b4be1a8405339c5de1a60aaefa6a4375748976.json
T
2026-05-23 14:49:50 +08:00

1 line
47 KiB
JSON

{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "label": "consumable.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L1"}, {"id": "crud_consumable_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L16"}, {"id": "crud_consumable_norm_status", "label": "_norm_status()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L22"}, {"id": "crud_consumable_is_enabled_status", "label": "_is_enabled_status()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L38"}, {"id": "crud_consumable_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L42"}, {"id": "crud_consumable_list_consumables", "label": "list_consumables()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L62"}, {"id": "crud_consumable_get_consumable", "label": "get_consumable()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L102"}, {"id": "crud_consumable_consumable_code_exists", "label": "consumable_code_exists()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L110"}, {"id": "crud_consumable_create_consumable", "label": "create_consumable()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L119"}, {"id": "crud_consumable_update_consumable", "label": "update_consumable()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L162"}, {"id": "crud_consumable_soft_delete_consumable", "label": "soft_delete_consumable()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L208"}, {"id": "crud_consumable_build_manual_out_remark", "label": "_build_manual_out_remark()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L220"}, {"id": "crud_consumable_stock_in", "label": "stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L240"}, {"id": "crud_consumable_batch_stock_in", "label": "batch_stock_in()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L296"}, {"id": "crud_consumable_stock_out", "label": "stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L371"}, {"id": "crud_consumable_batch_stock_out", "label": "batch_stock_out()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L442"}, {"id": "crud_consumable_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L530"}, {"id": "crud_consumable_rationale_1", "label": "\u8017\u6750 CRUD\uff08biz_consumable\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "math", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_norm_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_is_enabled_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L42", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_list_consumables", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L62", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_get_consumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_consumable_code_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L110", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_create_consumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L119", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_update_consumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L162", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_soft_delete_consumable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L208", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_build_manual_out_remark", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L220", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L240", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_batch_stock_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L296", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L371", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_batch_stock_out", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L442", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "target": "crud_consumable_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L530", "weight": 1.0}, {"source": "crud_consumable_is_enabled_status", "target": "crud_consumable_norm_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L39", "weight": 1.0}, {"source": "crud_consumable_row_to_dict", "target": "crud_consumable_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L51", "weight": 1.0}, {"source": "crud_consumable_row_to_dict", "target": "crud_consumable_norm_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L53", "weight": 1.0}, {"source": "crud_consumable_list_consumables", "target": "crud_consumable_row_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L99", "weight": 1.0}, {"source": "crud_consumable_create_consumable", "target": "crud_consumable_consumable_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L136", "weight": 1.0}, {"source": "crud_consumable_update_consumable", "target": "crud_consumable_get_consumable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L176", "weight": 1.0}, {"source": "crud_consumable_update_consumable", "target": "crud_consumable_consumable_code_exists", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L183", "weight": 1.0}, {"source": "crud_consumable_soft_delete_consumable", "target": "crud_consumable_get_consumable", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L209", "weight": 1.0}, {"source": "crud_consumable_soft_delete_consumable", "target": "crud_consumable_dec", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L212", "weight": 1.0}, {"source": "crud_consumable_stock_in", "target": "crud_consumable_is_enabled_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L262", "weight": 1.0}, {"source": "crud_consumable_batch_stock_in", "target": "crud_consumable_is_enabled_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L334", "weight": 1.0}, {"source": "crud_consumable_stock_out", "target": "crud_consumable_is_enabled_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L399", "weight": 1.0}, {"source": "crud_consumable_batch_stock_out", "target": "crud_consumable_is_enabled_status", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L486", "weight": 1.0}, {"source": "crud_consumable_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_crud_consumable_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_consumable_dec", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L19"}, {"caller_nid": "crud_consumable_norm_status", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L25"}, {"caller_nid": "crud_consumable_norm_status", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L27"}, {"caller_nid": "crud_consumable_norm_status", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L28"}, {"caller_nid": "crud_consumable_norm_status", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L30"}, {"caller_nid": "crud_consumable_norm_status", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L32"}, {"caller_nid": "crud_consumable_norm_status", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L32"}, {"caller_nid": "crud_consumable_row_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L57"}, {"caller_nid": "crud_consumable_row_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L58"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "scalar", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L89"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "with_entities", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L89"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L89"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L89"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "count", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L89"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L90"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "min", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L91"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "max", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L91"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L93"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "limit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L93"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "offset", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L93"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L93"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "_filtered", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L93"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L94"}, {"caller_nid": "crud_consumable_list_consumables", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L99"}, {"caller_nid": "crud_consumable_get_consumable", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L104"}, {"caller_nid": "crud_consumable_get_consumable", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L104"}, {"caller_nid": "crud_consumable_get_consumable", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L104"}, {"caller_nid": "crud_consumable_get_consumable", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L105"}, {"caller_nid": "crud_consumable_consumable_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L111"}, {"caller_nid": "crud_consumable_consumable_code_exists", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L111"}, {"caller_nid": "crud_consumable_consumable_code_exists", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L112"}, {"caller_nid": "crud_consumable_consumable_code_exists", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L112"}, {"caller_nid": "crud_consumable_consumable_code_exists", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L115"}, {"caller_nid": "crud_consumable_consumable_code_exists", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L116"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L133"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L135"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L137"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "BizConsumable", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L138"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L139"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L141"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L142"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L143"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L144"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L145"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L148"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L151"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L153"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L156"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L157"}, {"caller_nid": "crud_consumable_create_consumable", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L158"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L178"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L180"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L182"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L184"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L187"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L189"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L191"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L193"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L195"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L199"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L201"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L202"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L203"}, {"caller_nid": "crud_consumable_update_consumable", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L204"}, {"caller_nid": "crud_consumable_soft_delete_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L211"}, {"caller_nid": "crud_consumable_soft_delete_consumable", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L213"}, {"caller_nid": "crud_consumable_soft_delete_consumable", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L215"}, {"caller_nid": "crud_consumable_soft_delete_consumable", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L216"}, {"caller_nid": "crud_consumable_soft_delete_consumable", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L217"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L228"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L230"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L231"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L233"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L234"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L236"}, {"caller_nid": "crud_consumable_build_manual_out_remark", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L237"}, {"caller_nid": "crud_consumable_stock_in", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L250"}, {"caller_nid": "crud_consumable_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L251"}, {"caller_nid": "crud_consumable_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L253"}, {"caller_nid": "crud_consumable_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L253"}, {"caller_nid": "crud_consumable_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L253"}, {"caller_nid": "crud_consumable_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L253"}, {"caller_nid": "crud_consumable_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L259"}, {"caller_nid": "crud_consumable_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L261"}, {"caller_nid": "crud_consumable_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L263"}, {"caller_nid": "crud_consumable_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L264"}, {"caller_nid": "crud_consumable_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L269"}, {"caller_nid": "crud_consumable_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L270"}, {"caller_nid": "crud_consumable_stock_in", "callee": "BizConsumableStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L271"}, {"caller_nid": "crud_consumable_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L272"}, {"caller_nid": "crud_consumable_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L282"}, {"caller_nid": "crud_consumable_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L290"}, {"caller_nid": "crud_consumable_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L291"}, {"caller_nid": "crud_consumable_stock_in", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L292"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L306"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L307"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L308"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L312"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L312"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L312"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L313"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L315"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L316"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L317"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L318"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L318"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L319"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L319"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L323"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L323"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L323"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L323"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L333"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L335"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L341"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L342"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "BizConsumableStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L344"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L345"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L363"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L364"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L365"}, {"caller_nid": "crud_consumable_batch_stock_in", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L367"}, {"caller_nid": "crud_consumable_stock_out", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L383"}, {"caller_nid": "crud_consumable_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L384"}, {"caller_nid": "crud_consumable_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L385"}, {"caller_nid": "crud_consumable_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L385"}, {"caller_nid": "crud_consumable_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L386"}, {"caller_nid": "crud_consumable_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L387"}, {"caller_nid": "crud_consumable_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L390"}, {"caller_nid": "crud_consumable_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L390"}, {"caller_nid": "crud_consumable_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L390"}, {"caller_nid": "crud_consumable_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L390"}, {"caller_nid": "crud_consumable_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L396"}, {"caller_nid": "crud_consumable_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L398"}, {"caller_nid": "crud_consumable_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L400"}, {"caller_nid": "crud_consumable_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L402"}, {"caller_nid": "crud_consumable_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L404"}, {"caller_nid": "crud_consumable_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L408"}, {"caller_nid": "crud_consumable_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L412"}, {"caller_nid": "crud_consumable_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L413"}, {"caller_nid": "crud_consumable_stock_out", "callee": "BizConsumableStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L415"}, {"caller_nid": "crud_consumable_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L416"}, {"caller_nid": "crud_consumable_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L426"}, {"caller_nid": "crud_consumable_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L427"}, {"caller_nid": "crud_consumable_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L428"}, {"caller_nid": "crud_consumable_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L436"}, {"caller_nid": "crud_consumable_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L437"}, {"caller_nid": "crud_consumable_stock_out", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L438"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L454"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L455"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L456"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L458"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L459"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L460"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L461"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L465"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L465"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L465"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L466"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L468"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L469"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L470"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L471"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L471"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L472"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L472"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L475"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "with_for_update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L475"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L475"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L475"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L485"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L487"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "Decimal", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L489"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L491"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L498"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L499"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "BizConsumableStockLog", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L501"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L502"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L522"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L523"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L524"}, {"caller_nid": "crud_consumable_batch_stock_out", "callee": "rollback", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L526"}, {"caller_nid": "crud_consumable_total_pages", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L533"}, {"caller_nid": "crud_consumable_total_pages", "callee": "ceil", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L533"}, {"caller_nid": "crud_consumable_total_pages", "callee": "float", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/consumable.py", "source_location": "L533"}]}