diff --git a/AGENTS.md b/AGENTS.md index 53c549c8..4c72403e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,6 +30,7 @@ Full specs: `openspec/changes/zkxw-engineering-standards/specs/*/spec.md`. Below - **Form field annotations**: Field hints (e.g. "数值越小越靠前") SHALL appear as small text after the label via `字段名注释`, NOT beside the input control. Style class: `.form-label-tip` (12px, `--mint-text-muted`). - **Attachment upload card layout**: Upload trigger SHALL be a card (120×96px, dashed border `#a7f3d0`) placed inline as the first item in the same flex row as uploaded attachment cards. Hint text below the row. See `openspec/.../ui-conventions/spec.md` "附件上传卡片化布局" for full spec + CSS reference. - **Sort fields (sort_order/orderNum)**: web-admin 列表、新增弹窗、编辑弹窗中默认不展示排序字段。后续根据功能需要自行添加。 +- **Status/conclusion/type fields as Tags**: All status, conclusion, and type fields in table columns and view dialogs SHALL render as `` with semantic colors. Tables: use `` in column templates. SystemViewDialog: use `tagType` property on `ViewField`. Semantic colors: `success`=正常/启用/已完成/通过, `warning`=进行中/待确认/已过期, `danger`=异常/已作废/拒绝/不通过, `info`=待执行/待生效/停用/默认, `primary`=特殊分类/来源类型. SHALL NOT use plain text or custom ``. See `openspec/.../ui-conventions/spec.md` "状态、结论与类型字段使用 Tag 标签展示". - **Template pages** — new pages SHALL match these exactly: - Standard list: `src/views/system/unit/index.vue` - Complex list: `src/views/system/order/index.vue` diff --git a/backend/app.pid b/backend/app.pid index 97428a78..614e6d87 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -11478 +7085 diff --git a/backend/app/api/menu.py b/backend/app/api/menu.py index fc41a97c..9030a94b 100644 --- a/backend/app/api/menu.py +++ b/backend/app/api/menu.py @@ -254,7 +254,7 @@ STATIC_MENU_TREE = [ "name": "QualityInspectionQcWorkOrder", "path": "qc-work-order", "component": "/quality-inspection/qc-work-order/index", - "meta": {"title": "质检工单", "keepAlive": True, "menuCode": "biz:qcWorkOrder:list"}, + "meta": {"title": "入库质检工单", "keepAlive": True, "menuCode": "biz:qcWorkOrder:list"}, }, { "id": "70000000000000000000000000000008", diff --git a/backend/app/api/production.py b/backend/app/api/production.py index 75d55c9f..939416e8 100644 --- a/backend/app/api/production.py +++ b/backend/app/api/production.py @@ -14,6 +14,20 @@ from app.crud import process_category as process_category_svc from app.crud import output_type as output_type_svc from app.crud import consumable_pack as consumable_pack_svc from app.crud import process as process_svc +from app.crud import process_route as route_svc +from app.schemas.process_route import ( + ProcessRouteCreateBody, + ProcessRouteUpdateBody, + SetCurrentBody, + StepAddBody, + StepCopyBody, + StepUpdateBody, + StepReorderBody, + StepReagentUpdateBody, + StepConsumableUpdateBody, + StepOutputUpdateBody, + StepDataCollectionUpdateBody, +) from app.models.models import SysUser router = APIRouter(prefix="/web/admin", tags=["生产管理"]) @@ -941,3 +955,258 @@ async def delete_process( return success_response(None, message="删除成功") except ValueError as e: return error_response(400, str(e)) + + +# --------------------------------------------------------------------------- +# 8. 工艺路线管理 +# --------------------------------------------------------------------------- + + +@router.get("/process-routes") +async def list_process_routes( + page: int = Query(1, ge=1), + pageSize: int = Query(10, ge=1, le=100, alias="pageSize"), + routeName: Optional[str] = None, + routeCode: Optional[str] = None, + productTypeId: Optional[str] = None, + user: dict = Depends(require_menu_code("production:process-route:list")), + db: Session = Depends(get_db), +): + tenant_no = _get_tenant_no(db, user) + items, total = route_svc.list_routes( + db, page=page, page_size=pageSize, + route_name=routeName, route_code=routeCode, + product_type_id=productTypeId, tenant_no=tenant_no, + ) + tp = route_svc.total_pages(total, pageSize) + return success_response({"list": items, "total": total, "page": page, "pageSize": pageSize, "totalPages": tp}) + + +@router.get("/process-routes/{route_id}") +async def get_process_route_detail( + route_id: str, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + detail = route_svc.get_route_detail(db, route_id) + if not detail: + return error_response(404, "路线不存在") + return success_response(detail) + + +@router.post("/process-routes") +async def create_process_route( + body: ProcessRouteCreateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + obj = route_svc.create_route( + db, + route_code=body.route_code, + route_name=body.route_name, + product_type_id=body.product_type_id, + version=body.version, + remark=body.remark, + tenant_no=tenant_no, + user_id=user.get("user_id"), + ) + return success_response(route_svc._route_row_to_dict(obj), message="创建成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/{route_id}") +async def update_process_route( + route_id: str, + body: ProcessRouteUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + payload = body.model_dump(exclude_unset=True, by_alias=False) + obj = route_svc.update_route( + db, route_id, + user_id=user.get("user_id"), + route_code=payload.get("route_code"), + route_name=payload.get("route_name"), + product_type_id=payload.get("product_type_id"), + version=payload.get("version"), + remark=payload.get("remark"), + ) + return success_response(route_svc._route_row_to_dict(obj), message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/set-current") +async def set_current_process_route( + body: SetCurrentBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + obj = route_svc.set_current_route(db, body.route_id, tenant_no) + return success_response(route_svc._route_row_to_dict(obj), message="设置成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.delete("/process-routes/{route_id}") +async def delete_process_route( + route_id: str, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + route_svc.soft_delete_route(db, route_id) + return success_response(None, message="删除成功") + except ValueError as e: + return error_response(400, str(e)) + + +# ----- 步骤操作 ----- + +@router.post("/process-routes/step/add") +async def add_route_step( + body: StepAddBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + step_data = route_svc.add_step( + db, + route_id=body.route_id, + process_id=body.process_id, + step_order=body.step_order, + tenant_no=tenant_no, + user_id=user.get("user_id"), + ) + return success_response(step_data, message="添加成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.post("/process-routes/step/copy") +async def copy_route_step( + body: StepCopyBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + step_data = route_svc.copy_step( + db, + step_id=body.step_id, + tenant_no=tenant_no, + user_id=user.get("user_id"), + ) + return success_response(step_data, message="复制成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/update") +async def update_route_step( + body: StepUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + payload = body.model_dump(exclude_unset=True, by_alias=False) + payload.pop("step_id", None) + obj = route_svc.update_step(db, body.step_id, user_id=user.get("user_id"), **payload) + return success_response(route_svc._step_row_to_dict(obj), message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/reorder") +async def reorder_route_steps( + body: StepReorderBody, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + route_svc.reorder_steps(db, body.route_id, body.step_ids) + return success_response(None, message="排序成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.delete("/process-routes/step/{step_id}") +async def delete_route_step( + step_id: str, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + route_svc.soft_delete_step(db, step_id) + return success_response(None, message="删除成功") + except ValueError as e: + return error_response(400, str(e)) + + +# ----- 步骤子表 ----- + +@router.put("/process-routes/step/reagent/update") +async def update_step_reagents( + body: StepReagentUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_reagents(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/consumable/update") +async def update_step_consumables( + body: StepConsumableUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_consumables(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/output/update") +async def update_step_outputs( + body: StepOutputUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_outputs(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/data-collection/update") +async def update_step_data_collections( + body: StepDataCollectionUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_data_collections(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) diff --git a/backend/app/api/qc.py b/backend/app/api/qc.py index 616cc721..bc551bc1 100644 --- a/backend/app/api/qc.py +++ b/backend/app/api/qc.py @@ -369,7 +369,9 @@ class TaskResultBody(BaseModel): class TaskCompleteWithResultBody(BaseModel): model_config = ConfigDict(populate_by_name=True) + conclusion: str = Field(..., alias="conclusion") results: List[Dict[str, Any]] = Field(default_factory=list, alias="results") + remark: Optional[str] = Field(None, alias="remark") third_party_attachments: Optional[str] = Field(None, alias="thirdPartyAttachments") @@ -624,6 +626,7 @@ async def list_qc_tasks( taskType: Optional[str] = None, taskStatus: Optional[str] = None, workOrderId: Optional[str] = None, + qcBizType: Optional[str] = None, db: Session = Depends(get_db), user: dict = Depends(require_menu_code("biz:qcTask:list")), ): @@ -637,6 +640,7 @@ async def list_qc_tasks( task_type=taskType, task_status=taskStatus, work_order_id=workOrderId, + qc_biz_type=qcBizType, tenant_no=tenant_no, ) return success_response(_page_payload(items, total, page, pageSize)) @@ -727,15 +731,32 @@ async def complete_task_with_result( try: tenant_no = _get_tenant_no(db, user) user_id = _get_current_user_id(user) + t = task_svc.get_task(db, task_id, tenant_no=tenant_no) + if not t: + return error_response("任务不存在") + was_done = (t.task_status or "").strip() == "ywc" if body.results: result_svc.save_results_for_task(db, task_id, body.results, tenant_no, user_id) + concl = (body.conclusion or "").strip() + if concl not in ("tg", "btg"): + return error_response("请选择检测结论(通过/不通过)") if body.third_party_attachments is not None: task_svc.update_task_attachments( db, task_id, attachments=body.third_party_attachments, tenant_no=tenant_no, user_id=user_id, ) - obj = task_svc.complete_task(db, task_id, tenant_no=tenant_no, user_id=user_id) - return success_response(task_svc._task_to_dict(obj), message="已完成") + obj = task_svc.apply_task_result( + db, + task_id, + tenant_no=tenant_no, + user_id=user_id, + conclusion=concl, + remark=body.remark, + ) + return success_response( + task_svc._task_to_dict(obj, work_order_no="", db=db, tenant_no=tenant_no), + message="已保存" if was_done else "已完成", + ) except PermissionError as e: return error_response(str(e), code=403) except ValueError as e: diff --git a/backend/app/api/sample_reception.py b/backend/app/api/sample_reception.py index a8766105..c953f3bd 100644 --- a/backend/app/api/sample_reception.py +++ b/backend/app/api/sample_reception.py @@ -200,13 +200,15 @@ async def list_pending_samples( page: int = Query(1, ge=1), pageSize: int = Query(10, ge=1, le=100), keyword: Optional[str] = None, + sourceType: Optional[str] = None, db: Session = Depends(get_db), user: dict = Depends(require_menu_code("biz:sampleReception:list")), ): try: tenant_no = _get_tenant_no(db, user) items, total = sr_svc.list_pending_protocol_samples( - db, page=page, page_size=pageSize, tenant_no=tenant_no, keyword=keyword + db, page=page, page_size=pageSize, tenant_no=tenant_no, keyword=keyword, + source_type=sourceType, ) return success_response(_page_payload(items, total, page, pageSize)) except PermissionError as e: @@ -220,22 +222,17 @@ async def list_received_samples( page: int = Query(1, ge=1), pageSize: int = Query(10, ge=1, le=100), keyword: Optional[str] = None, + sourceType: Optional[str] = None, db: Session = Depends(get_db), user: dict = Depends(require_menu_code("biz:sampleReception:list")), ): try: tenant_no = _get_tenant_no(db, user) - query = db.query(BizSampleReception).filter( - BizSampleReception.del_flag == 0, - BizSampleReception.tenant_no == tenant_no, + items, total = sr_svc.list_received_protocol_samples( + db, page=page, page_size=pageSize, tenant_no=tenant_no, keyword=keyword, + source_type=sourceType, ) - if keyword: - query = query.filter(BizSampleReception.reception_no.like(f"%{keyword}%")) - query = apply_data_scope(query, BizSampleReception, user, db, tenant_no) - total = query.count() - items = query.order_by(BizSampleReception.create_time.desc()).offset((page - 1) * pageSize).limit(pageSize).all() - result_list = [sr_svc.get_reception_by_id(db, r.id, tenant_no) for r in items] - return success_response(_page_payload(result_list, total, page, pageSize)) + return success_response(_page_payload(items, total, page, pageSize)) except PermissionError as e: return error_response(str(e), code=403) except Exception as e: @@ -281,6 +278,8 @@ class SampleReceptionCreateBody(BaseModel): accept_conclusion: str = Field(..., alias="acceptConclusion") receive_attachments: Optional[str] = Field(None, alias="receiveAttachments") remark: Optional[str] = None + source_type: Optional[str] = Field("cell_storage", alias="sourceType") + donation_sample_id: Optional[str] = Field(None, alias="donationSampleId") @router.post("/sample-receptions") @@ -302,7 +301,9 @@ async def post_sample_reception( ] obj = sr_svc.create_sample_reception( db, - protocol_sample_id=body.protocol_sample_id, + reception_source=body.source_type or "cell_storage", + protocol_sample_id=body.protocol_sample_id if body.source_type != "research_donation" else None, + donation_sample_id=body.donation_sample_id if body.source_type == "research_donation" else None, tenant_no=tenant_no, user_id=user_id, create_dept_id=dept_id, diff --git a/backend/app/crud/collection_protocol.py b/backend/app/crud/collection_protocol.py index 8c683b5b..315b7d06 100644 --- a/backend/app/crud/collection_protocol.py +++ b/backend/app/crud/collection_protocol.py @@ -752,11 +752,17 @@ def get_protocol_detail_bundle( reception_by_sample = sample_reception_svc.get_receptions_map_for_samples( db, sample_ids, tenant_no ) + from app.crud import qc_work_order as qc_work_order_svc + + qc_by_sample = qc_work_order_svc.get_qc_info_map_for_samples( + db, sample_ids, tenant_no + ) samples_out: List[Dict[str, Any]] = [] for s in s_rows: item = _sample_to_dict(s) item["transport"] = transport_by_sample.get(s.id) item["sampleReception"] = reception_by_sample.get(s.id) + item["qcInfo"] = qc_by_sample.get(s.id) samples_out.append(item) out["samples"] = samples_out out["storageCert"] = _storage_cert_to_dict(sc) if sc else None @@ -1849,6 +1855,7 @@ def save_sample_transports( id=generate_uuid(), collection_protocol_id=collection_protocol_id, sample_id=sample_obj.id, + sample_code=sample_obj.sample_code or None, transport_type=transport_type, express_company_id=(tnorm.get("express_company_id") or "").strip() or None, waybill_no=(tnorm.get("waybill_no") or "").strip() or None, diff --git a/backend/app/crud/process.py b/backend/app/crud/process.py index 921bd257..b2f61612 100644 --- a/backend/app/crud/process.py +++ b/backend/app/crud/process.py @@ -375,7 +375,8 @@ def update_process( new_code = process_code.strip() if not new_code: raise ValueError("工艺编码不能为空") - if new_code != obj.process_code and process_code_exists(db, new_code, obj.tenant_no, exclude_id=process_id): + old_code = (obj.process_code or "").strip() + if new_code != old_code and process_code_exists(db, new_code, obj.tenant_no, exclude_id=process_id): raise ValueError("工艺编码已存在") obj.process_code = new_code if process_name is not None: diff --git a/backend/app/crud/process_route.py b/backend/app/crud/process_route.py new file mode 100644 index 00000000..45bc43bf --- /dev/null +++ b/backend/app/crud/process_route.py @@ -0,0 +1,610 @@ +"""工艺路线 CRUD(biz_process_route + biz_process_route_step + 4张步骤子表)""" +from __future__ import annotations + +import math +from datetime import datetime +from typing import Any, Dict, List, Optional, Tuple + +from sqlalchemy import and_, func, or_ +from sqlalchemy.orm import Session + +from app.core.utils import generate_uuid +from app.models.models import ( + BizProcess, + BizProcessReagent, + BizProcessConsumable, + BizProcessOutput, + BizProcessDataCollection, + BizProcessRoute, + BizProcessRouteStep, + BizProcessRouteStepReagent, + BizProcessRouteStepConsumable, + BizProcessRouteStepOutput, + BizProcessRouteStepDataCollection, +) + + +# --------------------------------------------------------------------------- +# 序列化函数 +# --------------------------------------------------------------------------- + +def _route_row_to_dict(r: BizProcessRoute) -> Dict[str, Any]: + return { + "id": r.id, + "routeCode": r.route_code, + "routeName": r.route_name, + "productTypeId": r.product_type_id or "", + "version": r.version or "", + "isCurrent": r.is_current if r.is_current is not None else "0", + "tenantNo": r.tenant_no, + "orderNum": r.order_num if r.order_num is not None else 0, + "remark": r.remark or "", + "createTime": r.create_time.strftime("%Y-%m-%d %H:%M:%S") if r.create_time else "", + "updateTime": r.update_time.strftime("%Y-%m-%d %H:%M:%S") if r.update_time else "", + } + + +def _step_row_to_dict(s: BizProcessRouteStep) -> Dict[str, Any]: + return { + "id": s.id, + "routeId": s.route_id, + "processId": s.process_id or "", + "stepOrder": s.step_order if s.step_order is not None else 0, + "processCode": s.process_code or "", + "categoryId": s.category_id or "", + "processName": s.process_name or "", + "description": s.description or "", + "equipmentName": s.equipment_name or "", + "estimatedDuration": s.estimated_duration or "", + "sopIds": s.sop_ids or "", + "remark": s.remark or "", + } + + +def _step_reagent_row_to_dict(r: BizProcessRouteStepReagent) -> Dict[str, Any]: + return { + "id": r.id, + "stepId": r.step_id, + "reagentCode": r.reagent_code or "", + "reagentName": r.reagent_name or "", + "spec": r.spec or "", + "standardUsage": r.standard_usage or "", + "unit": r.unit or "", + "isKeyMaterial": r.is_key_material if r.is_key_material is not None else "0", + "remark": r.remark or "", + } + + +def _step_consumable_row_to_dict(c: BizProcessRouteStepConsumable) -> Dict[str, Any]: + return { + "id": c.id, + "stepId": c.step_id, + "consumableCode": c.consumable_code or "", + "consumableName": c.consumable_name or "", + "specModel": c.spec_model or "", + "standardUsage": c.standard_usage or "", + "unit": c.unit or "", + "isRequired": c.is_required if c.is_required is not None else "1", + "remark": c.remark or "", + } + + +def _step_output_row_to_dict(o: BizProcessRouteStepOutput) -> Dict[str, Any]: + return { + "id": o.id, + "stepId": o.step_id, + "outputTypeId": o.output_type_id or "", + "outputName": o.output_name or "", + "outputBarcode": o.output_barcode or "", + "remark": o.remark or "", + } + + +def _step_data_collection_row_to_dict(d: BizProcessRouteStepDataCollection) -> Dict[str, Any]: + return { + "id": d.id, + "stepId": d.step_id, + "collectionName": d.collection_name or "", + "unit": d.unit or "", + "orderNum": d.order_num if d.order_num is not None else 0, + "remark": d.remark or "", + } + + +# --------------------------------------------------------------------------- +# 路线主表 CRUD +# --------------------------------------------------------------------------- + +def list_routes(db: Session, *, page: int = 1, page_size: int = 10, + route_name: Optional[str] = None, route_code: Optional[str] = None, + product_type_id: Optional[str] = None, + tenant_no: Optional[str] = None) -> Tuple[List[Dict], int]: + def _filtered(): + q = db.query(BizProcessRoute).filter(BizProcessRoute.del_flag == 0) + if tenant_no: + q = q.filter(BizProcessRoute.tenant_no == tenant_no) + if route_name and route_name.strip(): + q = q.filter(BizProcessRoute.route_name.like(f"%{route_name.strip()}%")) + if route_code and route_code.strip(): + q = q.filter(BizProcessRoute.route_code == route_code.strip()) + if product_type_id and product_type_id.strip(): + q = q.filter(BizProcessRoute.product_type_id == product_type_id.strip()) + return q + + total = _filtered().order_by(None).with_entities(func.count(BizProcessRoute.id)).scalar() or 0 + page = max(1, page) + page_size = min(max(1, page_size), 100) + rows = ( + _filtered() + .order_by( + func.coalesce(BizProcessRoute.order_num, 999999).asc(), + BizProcessRoute.create_time.desc(), + ) + .offset((page - 1) * page_size) + .limit(page_size) + .all() + ) + return [_route_row_to_dict(x) for x in rows], int(total) + + +def get_route(db: Session, route_id: str) -> Optional[BizProcessRoute]: + return db.query(BizProcessRoute).filter( + and_(BizProcessRoute.id == route_id, BizProcessRoute.del_flag == 0) + ).first() + + +def get_route_detail(db: Session, route_id: str) -> Optional[Dict[str, Any]]: + route = get_route(db, route_id) + if not route: + return None + result = _route_row_to_dict(route) + + steps = ( + db.query(BizProcessRouteStep) + .filter(and_(BizProcessRouteStep.route_id == route_id, BizProcessRouteStep.del_flag == 0)) + .order_by(BizProcessRouteStep.step_order.asc(), BizProcessRouteStep.create_time.asc()) + .all() + ) + step_list = [] + for s in steps: + sd = _step_row_to_dict(s) + reagents = db.query(BizProcessRouteStepReagent).filter( + and_(BizProcessRouteStepReagent.step_id == s.id, BizProcessRouteStepReagent.del_flag == 0) + ).order_by(BizProcessRouteStepReagent.create_time.asc()).all() + consumables = db.query(BizProcessRouteStepConsumable).filter( + and_(BizProcessRouteStepConsumable.step_id == s.id, BizProcessRouteStepConsumable.del_flag == 0) + ).order_by(BizProcessRouteStepConsumable.create_time.asc()).all() + outputs = db.query(BizProcessRouteStepOutput).filter( + and_(BizProcessRouteStepOutput.step_id == s.id, BizProcessRouteStepOutput.del_flag == 0) + ).order_by(BizProcessRouteStepOutput.create_time.asc()).all() + data_collections = db.query(BizProcessRouteStepDataCollection).filter( + and_(BizProcessRouteStepDataCollection.step_id == s.id, BizProcessRouteStepDataCollection.del_flag == 0) + ).order_by(BizProcessRouteStepDataCollection.order_num.asc()).all() + + sd["reagents"] = [_step_reagent_row_to_dict(r) for r in reagents] + sd["consumables"] = [_step_consumable_row_to_dict(c) for c in consumables] + sd["outputs"] = [_step_output_row_to_dict(o) for o in outputs] + sd["dataCollections"] = [_step_data_collection_row_to_dict(d) for d in data_collections] + step_list.append(sd) + + result["steps"] = step_list + return result + + +def create_route(db: Session, *, route_code: str, route_name: str, + product_type_id: Optional[str] = None, version: Optional[str] = None, + remark: Optional[str] = None, tenant_no: str = "zkxw", + user_id: Optional[str] = None) -> BizProcessRoute: + rc = (route_code or "").strip() + if not rc: + raise ValueError("路线编码不能为空") + now = datetime.now() + obj = BizProcessRoute( + id=generate_uuid(), + route_code=rc, + route_name=(route_name or "").strip() or rc, + product_type_id=(product_type_id or "").strip() or None, + version=(version or "").strip() or None, + is_current="0", + tenant_no=tenant_no, + order_num=0, + remark=(remark or "").strip() or None, + create_by=user_id, + create_dept_id="", + create_time=now, + update_by=user_id, + update_time=now, + del_flag=0, + ) + db.add(obj) + db.commit() + db.refresh(obj) + return obj + + +def update_route(db: Session, route_id: str, *, user_id: Optional[str] = None, **kwargs) -> BizProcessRoute: + obj = get_route(db, route_id) + if not obj: + raise ValueError("路线不存在") + for field in ["route_code", "route_name", "product_type_id", "version", "remark"]: + val = kwargs.get(field) + if val is not None: + setattr(obj, field, (val or "").strip() or None if field != "route_code" else (val or "").strip()) + obj.update_by = user_id + obj.update_time = datetime.now() + db.add(obj) + db.commit() + db.refresh(obj) + return obj + + +def set_current_route(db: Session, route_id: str, tenant_no: str) -> BizProcessRoute: + obj = get_route(db, route_id) + if not obj: + raise ValueError("路线不存在") + now = datetime.now() + siblings = db.query(BizProcessRoute).filter( + and_(BizProcessRoute.route_code == obj.route_code, + BizProcessRoute.tenant_no == tenant_no, + BizProcessRoute.del_flag == 0) + ).all() + for s in siblings: + s.is_current = "0" + s.update_time = now + db.add(s) + obj.is_current = "1" + obj.update_time = now + db.add(obj) + db.commit() + db.refresh(obj) + return obj + + +# --------------------------------------------------------------------------- +# 步骤子表辅助 +# --------------------------------------------------------------------------- + +def _soft_delete_sub_records(db: Session, model_class, step_id: str, now: datetime) -> None: + rows = db.query(model_class).filter( + and_(model_class.step_id == step_id, model_class.del_flag == 0) + ).all() + for r in rows: + r.del_flag = 1 + r.update_time = now + db.add(r) + + +def _create_step_reagent(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepReagent( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + reagent_code=(data.get("reagent_code") or "").strip() or None, + reagent_name=(data.get("reagent_name") or "").strip() or None, + spec=(data.get("spec") or "").strip() or None, + standard_usage=(data.get("standard_usage") or "").strip() or None, + unit=(data.get("unit") or "").strip() or None, + is_key_material=data.get("is_key_material", "0"), + remark=(data.get("remark") or "").strip() or None, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +def _create_step_consumable(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepConsumable( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + consumable_code=(data.get("consumable_code") or "").strip() or None, + consumable_name=(data.get("consumable_name") or "").strip() or None, + spec_model=(data.get("spec_model") or "").strip() or None, + standard_usage=(data.get("standard_usage") or "").strip() or None, + unit=(data.get("unit") or "").strip() or None, + is_required=data.get("is_required", "1"), + remark=(data.get("remark") or "").strip() or None, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +def _create_step_output(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepOutput( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + output_type_id=(data.get("output_type_id") or "").strip() or None, + output_name=(data.get("output_name") or "").strip() or None, + output_barcode=(data.get("output_barcode") or "").strip() or None, + remark=(data.get("remark") or "").strip() or None, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +def _create_step_data_collection(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepDataCollection( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + collection_name=(data.get("collection_name") or "").strip() or None, + unit=(data.get("unit") or "").strip() or None, + order_num=data.get("order_num", 0) or 0, + remark=(data.get("remark") or "").strip() or None, + create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +# --------------------------------------------------------------------------- +# 步骤 CRUD +# --------------------------------------------------------------------------- + +def add_step(db: Session, *, route_id: str, process_id: str, step_order: Optional[int] = None, + tenant_no: str = "zkxw", user_id: Optional[str] = None) -> Dict[str, Any]: + route = get_route(db, route_id) + if not route: + raise ValueError("路线不存在") + + proc = db.query(BizProcess).filter( + and_(BizProcess.id == process_id, BizProcess.del_flag == 0) + ).first() + if not proc: + raise ValueError("工艺不存在") + + now = datetime.now() + if step_order is None: + max_order = db.query(func.max(BizProcessRouteStep.step_order)).filter( + and_(BizProcessRouteStep.route_id == route_id, BizProcessRouteStep.del_flag == 0) + ).scalar() + step_order = (max_order or 0) + 1 + + step = BizProcessRouteStep( + id=generate_uuid(), route_id=route_id, process_id=process_id, + step_order=step_order, + process_code=proc.process_code, category_id=proc.category_id, + process_name=proc.process_name, description=proc.description, + equipment_name=proc.equipment_name, estimated_duration=proc.estimated_duration, + sop_ids=proc.sop_ids, + tenant_no=tenant_no, order_num=0, + remark=None, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + ) + db.add(step) + db.flush() + + src_reagents = db.query(BizProcessReagent).filter( + and_(BizProcessReagent.process_id == process_id, BizProcessReagent.del_flag == 0) + ).all() + for r in src_reagents: + _create_step_reagent(db, step.id, tenant_no, user_id, now, { + "reagent_code": r.reagent_code, "reagent_name": r.reagent_name, + "spec": r.spec, "standard_usage": r.standard_usage, + "unit": r.unit, "is_key_material": r.is_key_material, + }) + + src_consumables = db.query(BizProcessConsumable).filter( + and_(BizProcessConsumable.process_id == process_id, BizProcessConsumable.del_flag == 0) + ).all() + for c in src_consumables: + _create_step_consumable(db, step.id, tenant_no, user_id, now, { + "consumable_code": c.consumable_code, "consumable_name": c.consumable_name, + "spec_model": c.spec_model, "standard_usage": c.standard_usage, + "unit": c.unit, "is_required": c.is_required, "remark": c.remark, + }) + + src_outputs = db.query(BizProcessOutput).filter( + and_(BizProcessOutput.process_id == process_id, BizProcessOutput.del_flag == 0) + ).all() + for o in src_outputs: + _create_step_output(db, step.id, tenant_no, user_id, now, { + "output_type_id": o.output_type_id, "output_name": o.output_name, + "output_barcode": o.output_barcode, + }) + + src_collections = db.query(BizProcessDataCollection).filter( + and_(BizProcessDataCollection.process_id == process_id, BizProcessDataCollection.del_flag == 0) + ).all() + for d in src_collections: + _create_step_data_collection(db, step.id, tenant_no, user_id, now, { + "collection_name": d.collection_name, "unit": d.unit, "order_num": d.order_num, + }) + + db.commit() + detail = get_route_detail(db, route_id) + return detail["steps"][-1] if detail and detail["steps"] else _step_row_to_dict(step) + + +def update_step(db: Session, step_id: str, *, user_id: Optional[str] = None, **kwargs) -> BizProcessRouteStep: + step = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == step_id, BizProcessRouteStep.del_flag == 0) + ).first() + if not step: + raise ValueError("步骤不存在") + for field in ["process_code", "category_id", "process_name", "description", + "equipment_name", "estimated_duration", "sop_ids"]: + val = kwargs.get(field) + if val is not None: + setattr(step, field, (val or "").strip() or None) + step.update_by = user_id + step.update_time = datetime.now() + db.add(step) + db.commit() + db.refresh(step) + return step + + +def reorder_steps(db: Session, route_id: str, step_ids: List[str]) -> None: + now = datetime.now() + for idx, sid in enumerate(step_ids): + step = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == sid, BizProcessRouteStep.route_id == route_id, + BizProcessRouteStep.del_flag == 0) + ).first() + if step: + step.step_order = idx + 1 + step.update_time = now + db.add(step) + db.commit() + + +def copy_step(db: Session, step_id: str, *, tenant_no: str = "zkxw", + user_id: Optional[str] = None) -> Dict[str, Any]: + """复制步骤,插入到原步骤之后,名称追加(复制)""" + src = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == step_id, BizProcessRouteStep.del_flag == 0) + ).first() + if not src: + raise ValueError("步骤不存在") + + now = datetime.now() + new_order = src.step_order + 1 + + # 后续步骤 step_order +1 + later_steps = db.query(BizProcessRouteStep).filter( + and_( + BizProcessRouteStep.route_id == src.route_id, + BizProcessRouteStep.del_flag == 0, + BizProcessRouteStep.step_order > src.step_order, + ) + ).order_by(BizProcessRouteStep.step_order.asc()).all() + for ls in later_steps: + ls.step_order += 1 + ls.update_time = now + db.add(ls) + + # 创建新步骤 + new_name = (src.process_name or "").strip() + if not new_name.endswith("(复制)"): + new_name += "(复制)" + new_step = BizProcessRouteStep( + id=generate_uuid(), route_id=src.route_id, process_id=src.process_id, + step_order=new_order, + process_code=src.process_code, category_id=src.category_id, + process_name=new_name, description=src.description, + equipment_name=src.equipment_name, estimated_duration=src.estimated_duration, + sop_ids=src.sop_ids, + tenant_no=tenant_no, order_num=0, + remark=src.remark, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + ) + db.add(new_step) + db.flush() + + # 复制子表:试剂 + for r in db.query(BizProcessRouteStepReagent).filter( + and_(BizProcessRouteStepReagent.step_id == step_id, BizProcessRouteStepReagent.del_flag == 0) + ).all(): + _create_step_reagent(db, new_step.id, tenant_no, user_id, now, { + "reagent_code": r.reagent_code, "reagent_name": r.reagent_name, + "spec": r.spec, "standard_usage": r.standard_usage, + "unit": r.unit, "is_key_material": r.is_key_material, + "remark": r.remark, + }) + + # 复制子表:耗材 + for c in db.query(BizProcessRouteStepConsumable).filter( + and_(BizProcessRouteStepConsumable.step_id == step_id, BizProcessRouteStepConsumable.del_flag == 0) + ).all(): + _create_step_consumable(db, new_step.id, tenant_no, user_id, now, { + "consumable_code": c.consumable_code, "consumable_name": c.consumable_name, + "spec_model": c.spec_model, "standard_usage": c.standard_usage, + "unit": c.unit, "is_required": c.is_required, + "remark": c.remark, + }) + + # 复制子表:产出 + for o in db.query(BizProcessRouteStepOutput).filter( + and_(BizProcessRouteStepOutput.step_id == step_id, BizProcessRouteStepOutput.del_flag == 0) + ).all(): + _create_step_output(db, new_step.id, tenant_no, user_id, now, { + "output_type_id": o.output_type_id, "output_name": o.output_name, + "output_barcode": o.output_barcode, "remark": o.remark, + }) + + # 复制子表:数据采集 + for d in db.query(BizProcessRouteStepDataCollection).filter( + and_(BizProcessRouteStepDataCollection.step_id == step_id, BizProcessRouteStepDataCollection.del_flag == 0) + ).all(): + _create_step_data_collection(db, new_step.id, tenant_no, user_id, now, { + "collection_name": d.collection_name, "unit": d.unit, + "order_num": d.order_num, "remark": d.remark, + }) + + db.commit() + detail = get_route_detail(db, src.route_id) + return detail["steps"][-1] if detail and detail["steps"] else _step_row_to_dict(new_step) + + +def soft_delete_step(db: Session, step_id: str) -> None: + step = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == step_id, BizProcessRouteStep.del_flag == 0) + ).first() + if not step: + raise ValueError("步骤不存在") + now = datetime.now() + step.del_flag = 1 + step.update_time = now + db.add(step) + _soft_delete_sub_records(db, BizProcessRouteStepReagent, step_id, now) + _soft_delete_sub_records(db, BizProcessRouteStepConsumable, step_id, now) + _soft_delete_sub_records(db, BizProcessRouteStepOutput, step_id, now) + _soft_delete_sub_records(db, BizProcessRouteStepDataCollection, step_id, now) + db.commit() + + +def soft_delete_route(db: Session, route_id: str) -> None: + route = get_route(db, route_id) + if not route: + raise ValueError("路线不存在") + now = datetime.now() + route.del_flag = 1 + route.update_time = now + db.add(route) + + steps = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.route_id == route_id, BizProcessRouteStep.del_flag == 0) + ).all() + for s in steps: + s.del_flag = 1 + s.update_time = now + db.add(s) + _soft_delete_sub_records(db, BizProcessRouteStepReagent, s.id, now) + _soft_delete_sub_records(db, BizProcessRouteStepConsumable, s.id, now) + _soft_delete_sub_records(db, BizProcessRouteStepOutput, s.id, now) + _soft_delete_sub_records(db, BizProcessRouteStepDataCollection, s.id, now) + db.commit() + + +# --------------------------------------------------------------------------- +# 子表完整替换更新 +# --------------------------------------------------------------------------- + +def update_step_reagents(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepReagent, step_id, now) + for it in items: + _create_step_reagent(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def update_step_consumables(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepConsumable, step_id, now) + for it in items: + _create_step_consumable(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def update_step_outputs(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepOutput, step_id, now) + for it in items: + _create_step_output(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def update_step_data_collections(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepDataCollection, step_id, now) + for it in items: + _create_step_data_collection(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def total_pages(total: int, page_size: int) -> int: + if total <= 0: + return 0 + return int(math.ceil(total / float(page_size))) diff --git a/backend/app/crud/qc_task.py b/backend/app/crud/qc_task.py index 1d5d3229..b816e537 100644 --- a/backend/app/crud/qc_task.py +++ b/backend/app/crud/qc_task.py @@ -10,7 +10,21 @@ from sqlalchemy.orm import Session from app.core.utils import generate_uuid from app.crud.collection_protocol import urls_to_attachment_list -from app.models.models import BizQcTask, BizQcWorkOrder +from app.crud import sample_reception as sample_reception_svc +from app.crud.qc_work_order import ( + _load_sample_type_name_map, + _qc_biz_type_label, + _reception_source_label, + _sample_type_name_for_reception, + _work_order_qc_biz_type, +) +from app.models.models import ( + BizProtocolSample, + BizQcTask, + BizQcWorkOrder, + BizSampleReception, +) +from app.models.research_donation import BizResearchDonationSample def _dec(v: Any) -> Optional[float]: @@ -27,6 +41,14 @@ def _gen_task_no(db: Session, work_order: BizQcWorkOrder, seq: int) -> str: return f"{work_order.work_order_no}-{seq:02d}" +_CONCLUSION_LABELS = {"tg": "通过", "btg": "不通过"} + + +def _conclusion_label(v: Optional[str]) -> str: + key = (v or "").strip() + return _CONCLUSION_LABELS.get(key, key) + + def _task_to_dict( t: BizQcTask, work_order_no: str = "", @@ -47,6 +69,8 @@ def _task_to_dict( "companyName": t.company_name or "", "feeAmount": _dec(t.fee_amount), "taskStatus": t.task_status, + "conclusion": t.conclusion or "", + "conclusionLabel": _conclusion_label(t.conclusion), "thirdPartyAttachments": t.third_party_attachments or "", "attachmentFiles": urls_to_attachment_list(t.third_party_attachments, db, tn) if db else [], "completedTime": _fmt_dt(t.completed_time), @@ -57,6 +81,102 @@ def _task_to_dict( } +def _task_work_order_context(wo: BizQcWorkOrder, t: BizQcTask) -> Dict[str, Any]: + biz = _work_order_qc_biz_type(wo) + source = getattr(wo, "reception_source", "cell_storage") or "cell_storage" + return { + "receptionId": wo.reception_id, + "protocolNo": wo.protocol_no or "", + "sampleCode": wo.sample_code or t.sample_code or "", + "qcBizType": biz, + "qcBizTypeLabel": _qc_biz_type_label(biz), + "receptionSource": source, + "receptionSourceLabel": _reception_source_label(source), + "receptionTime": "", + "handlerName": "", + "sampleTypeName": "", + "workOrderStatus": wo.work_order_status or "", + } + + +def _enrich_tasks_reception_fields( + db: Session, items: List[Dict[str, Any]] +) -> List[Dict[str, Any]]: + if not items: + return items + rec_ids = [x.get("receptionId") for x in items if x.get("receptionId")] + if not rec_ids: + return items + rec_map = { + r.id: r + for r in db.query(BizSampleReception) + .filter(BizSampleReception.id.in_(rec_ids), BizSampleReception.del_flag == 0) + .all() + } + cell_sample_ids = [ + r.protocol_sample_id + for r in rec_map.values() + if (r.reception_source or "cell_storage") != "research_donation" and r.protocol_sample_id + ] + donation_sample_ids = [ + r.donation_sample_id + for r in rec_map.values() + if (r.reception_source or "") == "research_donation" and r.donation_sample_id + ] + protocol_samples: Dict[str, BizProtocolSample] = {} + if cell_sample_ids: + protocol_samples = { + s.id: s + for s in db.query(BizProtocolSample) + .filter(BizProtocolSample.id.in_(cell_sample_ids), BizProtocolSample.del_flag == 0) + .all() + } + donation_samples: Dict[str, BizResearchDonationSample] = {} + if donation_sample_ids: + donation_samples = { + s.id: s + for s in db.query(BizResearchDonationSample) + .filter( + BizResearchDonationSample.id.in_(donation_sample_ids), + BizResearchDonationSample.del_flag == 0, + ) + .all() + } + type_ids = list( + { + s.sample_type_id + for s in list(protocol_samples.values()) + list(donation_samples.values()) + if s.sample_type_id + } + ) + type_map = _load_sample_type_name_map(db, type_ids) + for item in items: + rec = rec_map.get(item.get("receptionId") or "") + if not rec: + continue + item["receptionTime"] = _fmt_dt(rec.reception_time) + item["handlerName"] = rec.handler_name or "" + item["sampleTypeName"] = _sample_type_name_for_reception( + db, + rec, + type_map, + protocol_samples=protocol_samples, + donation_samples=donation_samples, + ) + return items + + +def _task_row_to_dict( + t: BizQcTask, + wo: BizQcWorkOrder, + db: Session, + tenant_no: Optional[str], +) -> Dict[str, Any]: + out = _task_to_dict(t, wo.work_order_no or "", db, tenant_no) + out.update(_task_work_order_context(wo, t)) + return out + + def create_task_for_line( db: Session, *, @@ -79,6 +199,7 @@ def create_task_for_line( task_no=_gen_task_no(db, work_order, seq), task_type=task_type, source_line_id=source_line_id, + sample_code=work_order.sample_code or None, item_code=item_code, item_name=item_name, company_id=company_id, @@ -108,11 +229,12 @@ def list_tasks( task_type: Optional[str] = None, task_status: Optional[str] = None, work_order_id: Optional[str] = None, + qc_biz_type: Optional[str] = None, tenant_no: Optional[str] = None, ) -> Tuple[List[Dict[str, Any]], int]: def _filtered(): q0 = ( - db.query(BizQcTask, BizQcWorkOrder.work_order_no) + db.query(BizQcTask, BizQcWorkOrder) .join( BizQcWorkOrder, and_( @@ -134,6 +256,8 @@ def list_tasks( BizQcTask.task_no.like(like), BizQcTask.item_name.like(like), BizQcWorkOrder.work_order_no.like(like), + BizQcWorkOrder.sample_code.like(like), + BizQcWorkOrder.protocol_no.like(like), ) ) tt = (task_type or "").strip() @@ -142,6 +266,9 @@ def list_tasks( st = (task_status or "").strip() if st: q0 = q0.filter(BizQcTask.task_status == st) + bt = (qc_biz_type or "").strip() + if bt: + q0 = q0.filter(BizQcWorkOrder.qc_biz_type == bt) return q0 total = _filtered().order_by(None).with_entities(func.count(BizQcTask.id)).scalar() or 0 @@ -158,22 +285,25 @@ def list_tasks( .limit(page_size) .all() ) - return [_task_to_dict(t, wno or "", db, tenant_no) for t, wno in rows], int(total) + items = [_task_row_to_dict(t, wo, db, tenant_no) for t, wo in rows] + return _enrich_tasks_reception_fields(db, items), int(total) def list_tasks_by_work_order(db: Session, work_order_id: str, tenant_no: str) -> List[Dict[str, Any]]: rows = ( - db.query(BizQcTask, BizQcWorkOrder.work_order_no) + db.query(BizQcTask, BizQcWorkOrder) .join(BizQcWorkOrder, BizQcWorkOrder.id == BizQcTask.work_order_id) .filter( BizQcTask.work_order_id == work_order_id, BizQcTask.tenant_no == tenant_no, BizQcTask.del_flag == 0, + BizQcWorkOrder.del_flag == 0, ) .order_by(BizQcTask.order_num.asc()) .all() ) - return [_task_to_dict(t, wno or "", db, tenant_no) for t, wno in rows] + items = [_task_row_to_dict(t, wo, db, tenant_no) for t, wo in rows] + return _enrich_tasks_reception_fields(db, items) def get_task( @@ -189,15 +319,22 @@ def get_task_detail(db: Session, row_id: str, tenant_no: str) -> Dict[str, Any]: row = ( db.query(BizQcTask, BizQcWorkOrder) .join(BizQcWorkOrder, BizQcWorkOrder.id == BizQcTask.work_order_id) - .filter(BizQcTask.id == row_id, BizQcTask.tenant_no == tenant_no, BizQcTask.del_flag == 0) + .filter( + BizQcTask.id == row_id, + BizQcTask.tenant_no == tenant_no, + BizQcTask.del_flag == 0, + BizQcWorkOrder.del_flag == 0, + ) .first() ) if not row: raise ValueError("任务不存在") t, wo = row - out = _task_to_dict(t, wo.work_order_no or "", db, tenant_no) - out["protocolNo"] = wo.protocol_no or "" - out["sampleCode"] = wo.sample_code or "" + out = _task_row_to_dict(t, wo, db, tenant_no) + out = _enrich_tasks_reception_fields(db, [out])[0] + reception_detail = sample_reception_svc.get_reception_by_id(db, wo.reception_id, tenant_no) + if reception_detail: + out["reception"] = reception_detail return out @@ -218,21 +355,37 @@ def start_task(db: Session, row_id: str, *, tenant_no: str, user_id: Optional[st return t -def complete_task(db: Session, row_id: str, *, tenant_no: str, user_id: Optional[str]) -> BizQcTask: +def _set_task_remark(t: BizQcTask, remark: Optional[str]) -> None: + t.remark = (remark or "").strip() or None + + +def complete_task( + db: Session, + row_id: str, + *, + tenant_no: str, + user_id: Optional[str], + conclusion: Optional[str] = None, + remark: Optional[str] = None, +) -> BizQcTask: t = get_task(db, row_id, tenant_no=tenant_no) if not t: raise ValueError("任务不存在") + concl = (conclusion or "").strip() if conclusion is not None else "" + if concl and concl not in ("tg", "btg"): + raise ValueError("检测结论无效") if t.task_type == "sysz": if t.task_status not in ("dzx", "jxz"): raise ValueError("当前状态不可完成") elif t.task_type == "dsfjc": if not (t.third_party_attachments or "").strip(): raise ValueError("请先上传第三方检测材料") - if t.task_status == "ywc": - raise ValueError("任务已完成") else: raise ValueError("任务类型无效") t.task_status = "ywc" + if concl: + t.conclusion = concl + _set_task_remark(t, remark) t.completed_time = datetime.now() t.completed_by = user_id t.update_by = user_id @@ -246,6 +399,41 @@ def complete_task(db: Session, row_id: str, *, tenant_no: str, user_id: Optional return t +def apply_task_result( + db: Session, + row_id: str, + *, + tenant_no: str, + user_id: Optional[str], + conclusion: str, + remark: Optional[str] = None, +) -> BizQcTask: + """保存检测结果与结论;任务未完成时顺带标记为已完成。""" + t = get_task(db, row_id, tenant_no=tenant_no) + if not t: + raise ValueError("任务不存在") + concl = (conclusion or "").strip() + if concl not in ("tg", "btg"): + raise ValueError("请选择检测结论(通过/不通过)") + if (t.task_status or "").strip() == "ywc": + t.conclusion = concl + _set_task_remark(t, remark if remark is not None else "") + t.update_by = user_id + t.update_time = datetime.now() + db.add(t) + db.commit() + db.refresh(t) + return t + return complete_task( + db, + row_id, + tenant_no=tenant_no, + user_id=user_id, + conclusion=concl, + remark=remark, + ) + + def update_task_attachments( db: Session, row_id: str, @@ -257,12 +445,12 @@ def update_task_attachments( t = get_task(db, row_id, tenant_no=tenant_no) if not t: raise ValueError("任务不存在") - if t.task_type != "dsfjc": - raise ValueError("仅第三方检测任务可上传材料") - if t.task_status == "ywc": - raise ValueError("任务已完成,不可修改附件") t.third_party_attachments = (attachments or "").strip() or None - if t.task_status == "dzx" and t.third_party_attachments: + if ( + t.task_type == "dsfjc" + and t.task_status == "dzx" + and t.third_party_attachments + ): t.task_status = "jxz" t.update_by = user_id t.update_time = datetime.now() diff --git a/backend/app/crud/qc_task_result.py b/backend/app/crud/qc_task_result.py index aa9b9c7e..f8a70afe 100644 --- a/backend/app/crud/qc_task_result.py +++ b/backend/app/crud/qc_task_result.py @@ -1,11 +1,14 @@ from __future__ import annotations from datetime import datetime -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Tuple from sqlalchemy.orm import Session from app.core.utils import generate_uuid +from app.crud import qc_item_param as param_svc +from app.crud.qc_task import get_task +from app.models.models import BizQcWorkOrderLabItem, BizQcWorkOrderThirdItem from app.models.qc_param import BizQcTaskResult @@ -21,7 +24,7 @@ def _row_to_dict(r: BizQcTaskResult) -> Dict[str, Any]: } -def list_results_by_task( +def _list_saved_results_by_task( db: Session, task_id: str, tenant_no: str ) -> List[Dict[str, Any]]: rows = ( @@ -37,6 +40,74 @@ def list_results_by_task( return [_row_to_dict(r) for r in rows] +def _resolve_task_item_ref(db: Session, task) -> Tuple[Optional[str], Optional[str]]: + """返回 (item_source, item_id) 供 biz_qc_item_param 查询。""" + if task.task_type == "sysz": + line = ( + db.query(BizQcWorkOrderLabItem) + .filter( + BizQcWorkOrderLabItem.id == task.source_line_id, + BizQcWorkOrderLabItem.del_flag == 0, + ) + .first() + ) + if line: + return "lab", line.lab_test_item_id + elif task.task_type == "dsfjc": + line = ( + db.query(BizQcWorkOrderThirdItem) + .filter( + BizQcWorkOrderThirdItem.id == task.source_line_id, + BizQcWorkOrderThirdItem.del_flag == 0, + ) + .first() + ) + if line: + return "third_party", line.third_party_item_id + return None, None + + +def _merge_saved_into_template( + templates: List[Dict[str, Any]], saved: List[Dict[str, Any]] +) -> List[Dict[str, Any]]: + by_id = {s["paramId"]: s for s in saved if s.get("paramId")} + by_code = {s["paramCode"]: s for s in saved if s.get("paramCode")} + out: List[Dict[str, Any]] = [] + for p in templates: + pid = p.get("id") or "" + code = p.get("paramCode") or "" + hit = by_id.get(pid) or (by_code.get(code) if code else None) + out.append( + { + "paramId": pid, + "paramName": p.get("paramName", ""), + "paramCode": code, + "paramUnit": p.get("paramUnit", ""), + "paramType": p.get("paramType", "text"), + "paramValue": (hit.get("paramValue") if hit else "") or "", + "requiredFlag": p.get("requiredFlag", "0"), + } + ) + return out + + +def list_results_by_task( + db: Session, task_id: str, tenant_no: str +) -> List[Dict[str, Any]]: + """返回任务结果填写表单:项目参数模板 + 已保存值(无模板时仅返回已保存记录)。""" + saved = _list_saved_results_by_task(db, task_id, tenant_no) + task = get_task(db, task_id, tenant_no=tenant_no) + if not task: + return saved + item_source, item_id = _resolve_task_item_ref(db, task) + if not item_source or not item_id: + return saved + templates = param_svc.list_params_by_item(db, item_source, item_id, tenant_no) + if not templates: + return saved + return _merge_saved_into_template(templates, saved) + + def save_results_for_task( db: Session, task_id: str, @@ -44,6 +115,9 @@ def save_results_for_task( tenant_no: str, user_id: Optional[str] = None, ) -> List[Dict[str, Any]]: + task = get_task(db, task_id, tenant_no=tenant_no) + if not task: + raise ValueError("任务不存在") now = datetime.now() db.query(BizQcTaskResult).filter( BizQcTaskResult.task_id == task_id, diff --git a/backend/app/crud/qc_work_order.py b/backend/app/crud/qc_work_order.py index 19fb1596..e962de64 100644 --- a/backend/app/crud/qc_work_order.py +++ b/backend/app/crud/qc_work_order.py @@ -13,7 +13,11 @@ from app.crud import qc_lab_test_item as lab_item_svc from app.crud import qc_task as task_svc from app.crud import qc_third_party_item as third_item_svc from app.crud.qc_third_party_company import get_company +from app.crud.collection_protocol import urls_to_attachment_list +from app.crud import sample_reception as sample_reception_svc +from app.crud import sample_reception_check_result as check_result_svc from app.models.models import ( + BizCellSampleType, BizCollectionProtocol, BizProtocolSample, BizQcLabTestItem, @@ -24,6 +28,22 @@ from app.models.models import ( BizQcWorkOrderThirdItem, BizSampleReception, ) +from app.models.qc_param import BizQcTaskResult +from app.models.research_donation import BizResearchDonation, BizResearchDonationSample + +_RECEPTION_SOURCE_LABELS = { + "cell_storage": "细胞存储", + "research_donation": "科研捐赠", +} +_QC_BIZ_TYPE_LABELS = { + "inbound": "入库质检", + "outbound": "出库质检", +} +_ACCEPT_CONCLUSION_LABELS = {"js": "接收", "bj": "拒收"} +_WORK_ORDER_STATUS_LABELS = {"dpz": "待配置", "ypz": "已配置", "ywc": "已完成"} +_TASK_TYPE_LABELS = {"sysz": "实验室自检", "dsfjc": "第三方检测"} +_TASK_STATUS_LABELS = {"dzx": "待执行", "jxz": "进行中", "ywc": "已完成"} +_CONCLUSION_LABELS = {"tg": "通过", "btg": "不通过"} def _dec(v: Any) -> Optional[float]: @@ -36,6 +56,126 @@ def _fmt_dt(t: Optional[datetime]) -> str: return t.strftime("%Y-%m-%d %H:%M:%S") if t else "" +def _reception_source_label(source: Optional[str]) -> str: + key = (source or "").strip() or "cell_storage" + return _RECEPTION_SOURCE_LABELS.get(key, key) + + +def _qc_biz_type_label(biz_type: Optional[str]) -> str: + key = (biz_type or "").strip() or "inbound" + return _QC_BIZ_TYPE_LABELS.get(key, key) + + +def _work_order_qc_biz_type(wo: BizQcWorkOrder) -> str: + return getattr(wo, "qc_biz_type", None) or "inbound" + + +def _accept_conclusion_label(v: Optional[str]) -> str: + key = (v or "").strip() + return _ACCEPT_CONCLUSION_LABELS.get(key, key) + + +def _load_sample_type_name_map(db: Session, type_ids: List[str]) -> Dict[str, str]: + ids = [x for x in type_ids if x] + if not ids: + return {} + return { + t.id: t.type_name or "" + for t in db.query(BizCellSampleType) + .filter(BizCellSampleType.id.in_(ids), BizCellSampleType.del_flag == 0) + .all() + } + + +def _sample_type_name_for_reception( + db: Session, + rec: BizSampleReception, + type_map: Dict[str, str], + *, + protocol_samples: Dict[str, BizProtocolSample], + donation_samples: Dict[str, BizResearchDonationSample], +) -> str: + if (rec.reception_source or "cell_storage") == "research_donation": + sample = donation_samples.get(rec.donation_sample_id or "") + tid = sample.sample_type_id if sample else "" + else: + sample = protocol_samples.get(rec.protocol_sample_id or "") + tid = sample.sample_type_id if sample else "" + return type_map.get(tid or "", "") + + +def _enrich_work_order_list_items( + db: Session, items: List[Dict[str, Any]] +) -> List[Dict[str, Any]]: + if not items: + return items + rec_ids = [x["receptionId"] for x in items if x.get("receptionId")] + if not rec_ids: + return items + rec_map = { + r.id: r + for r in db.query(BizSampleReception) + .filter(BizSampleReception.id.in_(rec_ids), BizSampleReception.del_flag == 0) + .all() + } + cell_sample_ids = [ + r.protocol_sample_id + for r in rec_map.values() + if (r.reception_source or "cell_storage") != "research_donation" and r.protocol_sample_id + ] + donation_sample_ids = [ + r.donation_sample_id + for r in rec_map.values() + if (r.reception_source or "") == "research_donation" and r.donation_sample_id + ] + protocol_samples: Dict[str, BizProtocolSample] = {} + if cell_sample_ids: + protocol_samples = { + s.id: s + for s in db.query(BizProtocolSample) + .filter(BizProtocolSample.id.in_(cell_sample_ids), BizProtocolSample.del_flag == 0) + .all() + } + donation_samples: Dict[str, BizResearchDonationSample] = {} + if donation_sample_ids: + donation_samples = { + s.id: s + for s in db.query(BizResearchDonationSample) + .filter( + BizResearchDonationSample.id.in_(donation_sample_ids), + BizResearchDonationSample.del_flag == 0, + ) + .all() + } + type_ids = list( + { + s.sample_type_id + for s in list(protocol_samples.values()) + list(donation_samples.values()) + if s.sample_type_id + } + ) + type_map = _load_sample_type_name_map(db, type_ids) + for item in items: + rec = rec_map.get(item.get("receptionId") or "") + source = item.get("receptionSource") or (rec.reception_source if rec else "cell_storage") + item["receptionSourceLabel"] = _reception_source_label(source) + if not rec: + item.setdefault("receptionTime", "") + item.setdefault("handlerName", "") + item.setdefault("sampleTypeName", "") + continue + item["receptionTime"] = _fmt_dt(rec.reception_time) + item["handlerName"] = rec.handler_name or "" + item["sampleTypeName"] = _sample_type_name_for_reception( + db, + rec, + type_map, + protocol_samples=protocol_samples, + donation_samples=donation_samples, + ) + return items + + def _gen_daily_no(db: Session, tenant_no: str, prefix: str) -> str: day = datetime.now().strftime("%Y%m%d") like = f"{prefix}{day}%" @@ -59,6 +199,15 @@ def _wo_to_dict(wo: BizQcWorkOrder) -> Dict[str, Any]: "collectionProtocolId": wo.collection_protocol_id, "protocolNo": wo.protocol_no or "", "sampleCode": wo.sample_code or "", + "receptionSource": getattr(wo, "reception_source", "cell_storage") or "cell_storage", + "receptionSourceLabel": _reception_source_label( + getattr(wo, "reception_source", "cell_storage") or "cell_storage" + ), + "qcBizType": _work_order_qc_biz_type(wo), + "qcBizTypeLabel": _qc_biz_type_label(_work_order_qc_biz_type(wo)), + "receptionTime": "", + "handlerName": "", + "sampleTypeName": "", "workOrderStatus": wo.work_order_status, "hasLab": wo.has_lab == "1", "hasThirdParty": wo.has_third_party == "1", @@ -74,7 +223,7 @@ def _wo_to_dict(wo: BizQcWorkOrder) -> Dict[str, Any]: def create_work_order_from_reception( db: Session, *, - reception: BizSampleReception, + reception, tenant_no: str, user_id: Optional[str] = None, create_dept_id: str = "", @@ -93,44 +242,94 @@ def create_work_order_from_reception( ) if exists: return exists - protocol_no = "" - p = ( - db.query(BizCollectionProtocol) - .filter( - BizCollectionProtocol.id == reception.collection_protocol_id, - BizCollectionProtocol.del_flag == 0, + + source = getattr(reception, "reception_source", "cell_storage") or "cell_storage" + + if source == "research_donation": + protocol_no = "" + d = ( + db.query(BizResearchDonation) + .filter( + BizResearchDonation.id == (reception.research_donation_id or ""), + BizResearchDonation.del_flag == 0, + ) + .first() + ) + if d: + protocol_no = d.donation_no or "" + sample_code = "" + ds = ( + db.query(BizResearchDonationSample) + .filter( + BizResearchDonationSample.id == (reception.donation_sample_id or ""), + BizResearchDonationSample.del_flag == 0, + ) + .first() + ) + if ds: + sample_code = ds.sample_code or "" + wo = BizQcWorkOrder( + id=generate_uuid(), + work_order_no=_gen_daily_no(db, tenant_no, "ZJ"), + reception_id=reception.id, + protocol_sample_id=reception.donation_sample_id or "", + collection_protocol_id=reception.research_donation_id or "", + protocol_no=protocol_no or None, + sample_code=sample_code or None, + reception_source="research_donation", + qc_biz_type="inbound", + work_order_status="dpz", + has_lab="0", + has_third_party="0", + tenant_no=tenant_no, + create_by=user_id, + create_dept_id=create_dept_id or "", + update_by=user_id, + create_time=datetime.now(), + update_time=datetime.now(), + del_flag=0, + ) + else: + protocol_no = "" + p = ( + db.query(BizCollectionProtocol) + .filter( + BizCollectionProtocol.id == reception.collection_protocol_id, + BizCollectionProtocol.del_flag == 0, + ) + .first() + ) + if p: + protocol_no = p.protocol_no or "" + sample_code = "" + s = ( + db.query(BizProtocolSample) + .filter(BizProtocolSample.id == reception.protocol_sample_id, BizProtocolSample.del_flag == 0) + .first() + ) + if s: + sample_code = s.sample_code or "" + wo = BizQcWorkOrder( + id=generate_uuid(), + work_order_no=_gen_daily_no(db, tenant_no, "ZJ"), + reception_id=reception.id, + protocol_sample_id=reception.protocol_sample_id, + collection_protocol_id=reception.collection_protocol_id, + protocol_no=protocol_no or None, + sample_code=sample_code or None, + reception_source="cell_storage", + qc_biz_type="inbound", + work_order_status="dpz", + has_lab="0", + has_third_party="0", + tenant_no=tenant_no, + create_by=user_id, + create_dept_id=create_dept_id or "", + update_by=user_id, + create_time=datetime.now(), + update_time=datetime.now(), + del_flag=0, ) - .first() - ) - if p: - protocol_no = p.protocol_no or "" - sample_code = "" - s = ( - db.query(BizProtocolSample) - .filter(BizProtocolSample.id == reception.protocol_sample_id, BizProtocolSample.del_flag == 0) - .first() - ) - if s: - sample_code = s.sample_code or "" - wo = BizQcWorkOrder( - id=generate_uuid(), - work_order_no=_gen_daily_no(db, tenant_no, "ZJ"), - reception_id=reception.id, - protocol_sample_id=reception.protocol_sample_id, - collection_protocol_id=reception.collection_protocol_id, - protocol_no=protocol_no or None, - sample_code=sample_code or None, - work_order_status="dpz", - has_lab="0", - has_third_party="0", - tenant_no=tenant_no, - create_by=user_id, - create_dept_id=create_dept_id or "", - update_by=user_id, - create_time=datetime.now(), - update_time=datetime.now(), - del_flag=0, - ) db.add(wo) db.flush() return wo @@ -174,7 +373,8 @@ def list_work_orders( .limit(page_size) .all() ) - return [_wo_to_dict(x) for x in rows], int(total) + items = [_wo_to_dict(x) for x in rows] + return _enrich_work_order_list_items(db, items), int(total) def get_work_order( @@ -231,6 +431,49 @@ def _third_lines(db: Session, work_order_id: str) -> List[Dict[str, Any]]: ] +def get_qc_info_map_for_samples( + db: Session, + sample_ids: List[str], + tenant_no: str, +) -> Dict[str, Dict[str, Any]]: + """按协议/捐赠样本 ID 批量返回质检工单及检测任务摘要,供协议/捐赠查看弹窗使用。""" + if not sample_ids or not tenant_no: + return {} + wos = ( + db.query(BizQcWorkOrder) + .filter( + BizQcWorkOrder.protocol_sample_id.in_(sample_ids), + BizQcWorkOrder.tenant_no == tenant_no, + BizQcWorkOrder.del_flag == 0, + ) + .all() + ) + out: Dict[str, Dict[str, Any]] = {} + for wo in wos: + sid = wo.protocol_sample_id + if not sid: + continue + tasks = task_svc.list_tasks_by_work_order(db, wo.id, tenant_no) + for t in tasks: + tt = (t.get("taskType") or "").strip() + ts = (t.get("taskStatus") or "").strip() + tc = (t.get("conclusion") or "").strip() + t["taskTypeLabel"] = _TASK_TYPE_LABELS.get(tt, tt) + t["taskStatusLabel"] = _TASK_STATUS_LABELS.get(ts, ts) + t["conclusionLabel"] = t.get("conclusionLabel") or _CONCLUSION_LABELS.get(tc, tc or "—") + wo_status = (wo.work_order_status or "").strip() + biz = _work_order_qc_biz_type(wo) + out[sid] = { + **_wo_to_dict(wo), + "workOrderStatusLabel": _WORK_ORDER_STATUS_LABELS.get(wo_status, wo_status), + "qcBizTypeLabel": _qc_biz_type_label(biz), + "labItems": _lab_lines(db, wo.id), + "thirdPartyItems": _third_lines(db, wo.id), + "tasks": tasks, + } + return out + + def get_work_order_detail( db: Session, row_id: str, tenant_no: str ) -> Dict[str, Any]: @@ -238,22 +481,83 @@ def get_work_order_detail( if not wo: raise ValueError("工单不存在") out = _wo_to_dict(wo) - rec = ( - db.query(BizSampleReception) - .filter(BizSampleReception.id == wo.reception_id, BizSampleReception.del_flag == 0) - .first() + enriched = _enrich_work_order_list_items(db, [out])[0] + out.update( + { + "receptionTime": enriched.get("receptionTime", ""), + "handlerName": enriched.get("handlerName", ""), + "sampleTypeName": enriched.get("sampleTypeName", ""), + "receptionSourceLabel": enriched.get("receptionSourceLabel", ""), + } ) - out["reception"] = { - "receptionTime": _fmt_dt(rec.reception_time) if rec else "", - "handlerName": (rec.handler_name if rec else "") or "", - "acceptConclusion": (rec.accept_conclusion if rec else "") or "", - } + reception_detail = sample_reception_svc.get_reception_by_id(db, wo.reception_id, tenant_no) + if reception_detail: + out["reception"] = reception_detail + else: + rec = ( + db.query(BizSampleReception) + .filter(BizSampleReception.id == wo.reception_id, BizSampleReception.del_flag == 0) + .first() + ) + cr = ( + check_result_svc.get_check_results_for_reception(db, rec, tenant_no) if rec else [] + ) + out["reception"] = { + "receptionTime": _fmt_dt(rec.reception_time) if rec else "", + "handlerName": (rec.handler_name if rec else "") or "", + "acceptConclusion": (rec.accept_conclusion if rec else "") or "", + "acceptConclusionLabel": _accept_conclusion_label( + rec.accept_conclusion if rec else "" + ), + "sourceType": wo.reception_source or "cell_storage", + "sourceTypeLabel": _reception_source_label(wo.reception_source), + "sampleTypeName": enriched.get("sampleTypeName", ""), + "checkResults": cr, + "receiveAttachments": (rec.receive_attachments if rec else "") or "", + "receiveAttachmentFiles": urls_to_attachment_list( + rec.receive_attachments if rec else None, db, tenant_no + ), + } out["labItems"] = _lab_lines(db, wo.id) out["thirdPartyItems"] = _third_lines(db, wo.id) out["tasks"] = task_svc.list_tasks_by_work_order(db, wo.id, tenant_no) return out +def _soft_delete_pending_work_order_tasks( + db: Session, work_order_id: str, tenant_no: str +) -> None: + """调整检测前软删待执行任务;存在进行中/已完成任务时不允许调整。""" + tasks = ( + db.query(BizQcTask) + .filter( + BizQcTask.work_order_id == work_order_id, + BizQcTask.tenant_no == tenant_no, + BizQcTask.del_flag == 0, + ) + .all() + ) + if any(t.task_status in ("jxz", "ywc") for t in tasks): + raise ValueError("存在进行中或已完成的质检任务,无法调整检测项目") + if not tasks: + return + now = datetime.now() + task_ids = [t.id for t in tasks] + if task_ids: + db.query(BizQcTaskResult).filter( + BizQcTaskResult.task_id.in_(task_ids), + BizQcTaskResult.tenant_no == tenant_no, + BizQcTaskResult.del_flag == 0, + ).update( + {"del_flag": 1, "update_time": now}, + synchronize_session="fetch", + ) + for t in tasks: + t.del_flag = 1 + t.update_time = now + db.add(t) + + def configure_work_order( db: Session, work_order_id: str, @@ -269,15 +573,12 @@ def configure_work_order( wo = get_work_order(db, work_order_id, tenant_no=tenant_no) if not wo: raise ValueError("工单不存在") - if wo.work_order_status != "dpz": - raise ValueError("仅待配置工单可配置检测项目") - task_cnt = ( - db.query(BizQcTask) - .filter(BizQcTask.work_order_id == wo.id, BizQcTask.del_flag == 0) - .count() - ) - if task_cnt: - raise ValueError("工单已存在任务,无法重新配置") + if wo.work_order_status == "ywc": + raise ValueError("工单已完成,无法调整检测项目") + if wo.work_order_status not in ("dpz", "ypz"): + raise ValueError("当前工单状态不可配置检测项目") + if wo.work_order_status == "ypz": + _soft_delete_pending_work_order_tasks(db, wo.id, tenant_no) if not has_lab and not has_third_party: raise ValueError("请至少选择一种检测方式") diff --git a/backend/app/crud/research_donation.py b/backend/app/crud/research_donation.py index 9348333b..958a5238 100644 --- a/backend/app/crud/research_donation.py +++ b/backend/app/crud/research_donation.py @@ -588,10 +588,22 @@ def get_donation_detail( s_rows = list_samples(db, donation_id, tenant_no) transport_rows = list_sample_transports(db, donation_id, tenant_no) transport_by_sample = {t.sample_id: _transport_to_dict(t) for t in transport_rows} + from app.crud import sample_reception as sample_reception_svc + from app.crud import qc_work_order as qc_work_order_svc + + sample_ids = [s.id for s in s_rows] + reception_by_sample = sample_reception_svc.get_receptions_map_for_donation_samples( + db, sample_ids, tenant_no + ) + qc_by_sample = qc_work_order_svc.get_qc_info_map_for_samples( + db, sample_ids, tenant_no + ) samples_out: List[Dict[str, Any]] = [] for s in s_rows: item = _sample_to_dict(s) item["transport"] = transport_by_sample.get(s.id) + item["sampleReception"] = reception_by_sample.get(s.id) + item["qcInfo"] = qc_by_sample.get(s.id) samples_out.append(item) out["samples"] = samples_out @@ -1246,6 +1258,7 @@ def convert_from_storage( id=generate_uuid(), research_donation_id=did, sample_id=new_sample.id, + sample_code=ss.sample_code or None, transport_type=src_t.transport_type, express_company_id=src_t.express_company_id, waybill_no=src_t.waybill_no, @@ -1484,6 +1497,7 @@ def convert_to_storage( id=generate_uuid(), collection_protocol_id=pid, sample_id=new_sample.id, + sample_code=ss.sample_code or None, transport_type=src_t.transport_type, express_company_id=src_t.express_company_id, waybill_no=src_t.waybill_no, @@ -1686,7 +1700,7 @@ def _create_samples( # transport transport_raw = raw.get("transport") if isinstance(transport_raw, dict): - _create_transport(db, donation_id, obj.id, tenant_no, user_id, transport_raw, idx, now) + _create_transport(db, donation_id, obj.id, tenant_no, user_id, transport_raw, idx, now, sample_code=obj.sample_code) return result @@ -1700,6 +1714,7 @@ def _create_transport( raw: dict, order_num: int, now: datetime, + sample_code: Optional[str] = None, ) -> Optional[BizResearchDonationSampleTransport]: tnorm = _normalize_fields(raw) transport_type = (tnorm.get("transport_type") or "").strip() @@ -1720,6 +1735,7 @@ def _create_transport( id=generate_uuid(), research_donation_id=donation_id, sample_id=sample_id, + sample_code=sample_code or None, transport_type=transport_type, express_company_id=(tnorm.get("express_company_id") or "").strip() or None, waybill_no=(tnorm.get("waybill_no") or "").strip() or None, diff --git a/backend/app/crud/sample_reception.py b/backend/app/crud/sample_reception.py index bad93419..5854b3c4 100644 --- a/backend/app/crud/sample_reception.py +++ b/backend/app/crud/sample_reception.py @@ -20,6 +20,20 @@ from app.models.models import ( BizSampleReception, SysUser, ) +from app.models.research_donation import ( + BizResearchDonation, + BizResearchDonationParty, + BizResearchDonationSample, + BizResearchDonationSampleTransport, +) + +# 科研捐赠表默认 general_ci,样本接收等为 unicode_ci,跨表比较需统一 +_UNICODE_CI = "utf8mb4_unicode_ci" + + +def _donation_sample_id_col(col): + """捐赠样本 ID 与 biz_sample_reception.donation_sample_id 比较时统一排序规则。""" + return col.collate(_UNICODE_CI) def _fmt_dt(t: Optional[datetime]) -> str: @@ -90,6 +104,152 @@ def _sample_detail_rows_query(db: Session): ) +def _donation_sample_detail_rows_query(db: Session): + """捐赠样本 + 捐赠单 + 当事人 + 运输(四表 JOIN)。""" + return ( + db.query( + BizResearchDonationSample, + BizResearchDonation, + BizResearchDonationParty, + BizResearchDonationSampleTransport, + ) + .select_from(BizResearchDonationSample) + .join( + BizResearchDonation, + and_( + BizResearchDonation.id == BizResearchDonationSample.research_donation_id, + BizResearchDonation.del_flag == 0, + ), + ) + .outerjoin( + BizResearchDonationParty, + and_( + BizResearchDonationParty.research_donation_id == BizResearchDonation.id, + BizResearchDonationParty.del_flag == 0, + ), + ) + .outerjoin( + BizResearchDonationSampleTransport, + and_( + BizResearchDonationSampleTransport.sample_id == BizResearchDonationSample.id, + BizResearchDonationSampleTransport.del_flag == 0, + ), + ) + ) + + +def _donation_sample_pending_query(db: Session, tenant_no: str, keyword: Optional[str] = None): + """待接收:捐赠样本且尚无有效接收记录。""" + received_donation_ids = ( + db.query(BizSampleReception.donation_sample_id) + .filter( + BizSampleReception.tenant_no == tenant_no, + BizSampleReception.del_flag == 0, + BizSampleReception.reception_source == "research_donation", + ) + .subquery() + ) + q = _donation_sample_detail_rows_query(db).filter( + BizResearchDonationSample.del_flag == 0, + BizResearchDonationSample.tenant_no == tenant_no, + BizResearchDonation.tenant_no == tenant_no, + BizResearchDonation.donation_status.in_(["sxz", "ygq"]), + ~_donation_sample_id_col(BizResearchDonationSample.id).in_(received_donation_ids), + ) + if keyword and keyword.strip(): + kw = f"%{keyword.strip()}%" + q = q.filter( + or_( + BizResearchDonation.donation_no.like(kw), + BizResearchDonationSample.sample_code.like(kw), + BizResearchDonationParty.mother_name.like(kw), + BizResearchDonationParty.newborn_name.like(kw), + ) + ) + return q + + +def _donation_rows_to_sample_list_items( + db: Session, + rows: list, + tenant_no: str, + *, + reception_map: Optional[Dict[str, BizSampleReception]] = None, +) -> List[Dict[str, Any]]: + """将捐赠样本行转为统一列表项字典(字段名与细胞存储保持一致)。""" + type_ids = list({s.sample_type_id for s, *_ in rows if s.sample_type_id}) + type_map: Dict[str, str] = {} + if type_ids: + for t in ( + db.query(BizCellSampleType) + .filter( + BizCellSampleType.id.in_(type_ids), + BizCellSampleType.del_flag == 0, + ) + .all() + ): + type_map[t.id] = t.type_name or "" + + express_ids = list( + {tr.express_company_id for *_, tr in rows if tr and tr.express_company_id} + ) + express_map: Dict[str, str] = {} + if express_ids: + for e in ( + db.query(BizExpressCompany) + .filter(BizExpressCompany.id.in_(express_ids), BizExpressCompany.del_flag == 0) + .all() + ): + express_map[e.id] = e.express_name or "" + + reception_ids = ( + [reception_map[s.id].id for s, *_ in rows if s.id in reception_map] + if reception_map + else [] + ) + results_map = ( + check_result_svc.list_results_by_reception_ids(db, reception_ids, tenant_no) + if reception_ids + else {} + ) + + items: List[Dict[str, Any]] = [] + for sample, donation, party, transport in rows: + item: Dict[str, Any] = { + "protocolSampleId": sample.id, + "collectionProtocolId": donation.id, + "protocolNo": donation.donation_no or "", + "sampleCode": sample.sample_code or "", + "sampleTypeId": sample.sample_type_id or "", + "sampleTypeName": type_map.get(sample.sample_type_id or "", ""), + "collectAmount": _dec(sample.collect_amount), + "motherName": (party.mother_name if party else "") or "", + "newbornName": (party.newborn_name if party else "") or "", + "sourceType": "research_donation", + "sourceTypeLabel": "科研捐赠", + "etaTime": _fmt_dt(transport.eta_time) if transport and transport.eta_time else "", + "transportType": (transport.transport_type if transport else "") or "", + "waybillNo": (transport.waybill_no if transport else "") or "", + "expressCompanyId": (transport.express_company_id if transport else "") or "", + "expressCompanyName": express_map.get( + (transport.express_company_id if transport else "") or "", "" + ), + "carrierName": (transport.carrier_name if transport else "") or "", + "carrierPhone": (transport.carrier_phone if transport else "") or "", + } + if reception_map and sample.id in reception_map: + rec = reception_map[sample.id] + cr = results_map.get(rec.id) + if not cr: + cr = check_result_svc.get_check_results_for_reception(db, rec, tenant_no) + item.update(_reception_to_dict(rec, check_results=cr)) + item["receiveAttachmentFiles"] = urls_to_attachment_list( + rec.receive_attachments, db, tenant_no + ) + items.append(item) + return items + + def _sample_pending_query(db: Session, tenant_no: str, keyword: Optional[str] = None): """待接收:协议样本且尚无有效接收记录。""" received_ids = ( @@ -184,6 +344,9 @@ def _rows_to_sample_list_items( (transport.express_company_id if transport else "") or "", "" ), "carrierName": (transport.carrier_name if transport else "") or "", + "carrierPhone": (transport.carrier_phone if transport else "") or "", + "sourceType": "cell_storage", + "sourceTypeLabel": "细胞存储", } if reception_map and sample.id in reception_map: rec = reception_map[sample.id] @@ -205,24 +368,53 @@ def list_pending_protocol_samples( page_size: int = 10, tenant_no: Optional[str] = None, keyword: Optional[str] = None, + source_type: Optional[str] = None, ) -> Tuple[List[Dict[str, Any]], int]: if not tenant_no: return [], 0 - q_base = _sample_pending_query(db, tenant_no, keyword) - total = q_base.order_by(None).with_entities(func.count(BizProtocolSample.id)).scalar() or 0 + + # 收集两种来源的样本 + all_items: List[Dict[str, Any]] = [] + + if not source_type or source_type == "cell_storage": + q_base = _sample_pending_query(db, tenant_no, keyword) + cell_total = q_base.order_by(None).with_entities(func.count(BizProtocolSample.id)).scalar() or 0 + cell_rows = ( + q_base.order_by( + BizProtocolSampleTransport.eta_time.is_(None), + BizProtocolSampleTransport.eta_time.asc(), + BizProtocolSample.create_time.asc(), + ) + .all() + ) + all_items.extend(_rows_to_sample_list_items(db, cell_rows, tenant_no)) + else: + cell_total = 0 + + if not source_type or source_type == "research_donation": + q_donation = _donation_sample_pending_query(db, tenant_no, keyword) + donation_total = q_donation.order_by(None).with_entities(func.count(BizResearchDonationSample.id)).scalar() or 0 + donation_rows = ( + q_donation.order_by( + BizResearchDonationSampleTransport.eta_time.is_(None), + BizResearchDonationSampleTransport.eta_time.asc(), + BizResearchDonationSample.create_time.asc(), + ) + .all() + ) + all_items.extend(_donation_rows_to_sample_list_items(db, donation_rows, tenant_no)) + else: + donation_total = 0 + + # 统一按 etaTime 排序(空值排后) + all_items.sort(key=lambda x: (not x.get("etaTime"), x.get("etaTime") or "")) + + total = cell_total + donation_total page = max(1, page) page_size = min(max(1, page_size), 100) - rows = ( - q_base.order_by( - BizProtocolSampleTransport.eta_time.is_(None), - BizProtocolSampleTransport.eta_time.asc(), - BizProtocolSample.create_time.asc(), - ) - .offset((page - 1) * page_size) - .limit(page_size) - .all() - ) - return _rows_to_sample_list_items(db, rows, tenant_no), int(total) + start = (page - 1) * page_size + page_items = all_items[start:start + page_size] + return page_items, int(total) def list_received_protocol_samples( @@ -232,16 +424,24 @@ def list_received_protocol_samples( page_size: int = 10, tenant_no: Optional[str] = None, keyword: Optional[str] = None, + source_type: Optional[str] = None, ) -> Tuple[List[Dict[str, Any]], int]: if not tenant_no: return [], 0 + + # 查询所有接收记录,按 source_type 过滤 q_rec = db.query(BizSampleReception).filter( BizSampleReception.tenant_no == tenant_no, BizSampleReception.del_flag == 0, ) + if source_type: + q_rec = q_rec.filter(BizSampleReception.reception_source == source_type) + + # 关键词搜索 if keyword and keyword.strip(): kw = f"%{keyword.strip()}%" - sample_ids_kw = ( + # 细胞存储样本关键词 + cell_sample_ids_kw = ( _sample_detail_rows_query(db) .with_entities(BizProtocolSample.id) .filter( @@ -257,10 +457,28 @@ def list_received_protocol_samples( ) .subquery() ) + # 捐赠样本关键词 + donation_sample_ids_kw = ( + _donation_sample_detail_rows_query(db) + .with_entities(_donation_sample_id_col(BizResearchDonationSample.id)) + .filter( + BizResearchDonationSample.del_flag == 0, + BizResearchDonationSample.tenant_no == tenant_no, + BizResearchDonation.tenant_no == tenant_no, + or_( + BizResearchDonation.donation_no.like(kw), + BizResearchDonationSample.sample_code.like(kw), + BizResearchDonationParty.mother_name.like(kw), + BizResearchDonationParty.newborn_name.like(kw), + ), + ) + .subquery() + ) q_rec = q_rec.filter( or_( BizSampleReception.handler_name.like(kw), - BizSampleReception.protocol_sample_id.in_(sample_ids_kw), + BizSampleReception.protocol_sample_id.in_(cell_sample_ids_kw), + BizSampleReception.donation_sample_id.in_(donation_sample_ids_kw), ) ) @@ -276,19 +494,38 @@ def list_received_protocol_samples( if not receptions: return [], int(total) - sample_ids = [r.protocol_sample_id for r in receptions] - reception_map = {r.protocol_sample_id: r for r in receptions} + # 按 reception_source 分组查询详情 + cell_receptions = [r for r in receptions if r.reception_source == "cell_storage"] + donation_receptions = [r for r in receptions if r.reception_source == "research_donation"] - rows = ( - _sample_detail_rows_query(db) - .filter(BizProtocolSample.id.in_(sample_ids)) - .all() - ) - row_by_sample = {row[0].id: row for row in rows} - ordered_rows = [row_by_sample[sid] for sid in sample_ids if sid in row_by_sample] - items = _rows_to_sample_list_items( - db, ordered_rows, tenant_no, reception_map=reception_map - ) + items: List[Dict[str, Any]] = [] + + if cell_receptions: + cell_sample_ids = [r.protocol_sample_id for r in cell_receptions] + cell_reception_map = {r.protocol_sample_id: r for r in cell_receptions} + cell_rows = ( + _sample_detail_rows_query(db) + .filter(BizProtocolSample.id.in_(cell_sample_ids)) + .all() + ) + cell_row_by_sample = {row[0].id: row for row in cell_rows} + cell_ordered = [cell_row_by_sample[sid] for sid in cell_sample_ids if sid in cell_row_by_sample] + items.extend(_rows_to_sample_list_items(db, cell_ordered, tenant_no, reception_map=cell_reception_map)) + + if donation_receptions: + donation_sample_ids = [r.donation_sample_id for r in donation_receptions] + donation_reception_map = {r.donation_sample_id: r for r in donation_receptions} + donation_rows = ( + _donation_sample_detail_rows_query(db) + .filter(_donation_sample_id_col(BizResearchDonationSample.id).in_(donation_sample_ids)) + .all() + ) + donation_row_by_sample = {row[0].id: row for row in donation_rows} + donation_ordered = [donation_row_by_sample[sid] for sid in donation_sample_ids if sid in donation_row_by_sample] + items.extend(_donation_rows_to_sample_list_items(db, donation_ordered, tenant_no, reception_map=donation_reception_map)) + + # 按 reception_time DESC 排序 + items.sort(key=lambda x: x.get("receptionTime") or "", reverse=True) return items, int(total) @@ -306,6 +543,36 @@ def get_reception_by_id( ) if not rec: return None + if (rec.reception_source or "cell_storage") == "research_donation": + dsid = rec.donation_sample_id or "" + if not dsid: + cr = check_result_svc.get_check_results_for_reception(db, rec, tenant_no) + out = _reception_to_dict(rec, check_results=cr) + out["sourceType"] = "research_donation" + out["sourceTypeLabel"] = "科研捐赠" + out["receiveAttachmentFiles"] = urls_to_attachment_list( + rec.receive_attachments, db, tenant_no + ) + return out + rows = ( + _donation_sample_detail_rows_query(db) + .filter(_donation_sample_id_col(BizResearchDonationSample.id) == dsid) + .all() + ) + if not rows: + cr = check_result_svc.get_check_results_for_reception(db, rec, tenant_no) + out = _reception_to_dict(rec, check_results=cr) + out["sourceType"] = "research_donation" + out["sourceTypeLabel"] = "科研捐赠" + out["receiveAttachmentFiles"] = urls_to_attachment_list( + rec.receive_attachments, db, tenant_no + ) + return out + items = _donation_rows_to_sample_list_items( + db, rows, tenant_no, reception_map={dsid: rec} + ) + return items[0] if items else None + sample = ( db.query(BizProtocolSample) .filter( @@ -342,7 +609,10 @@ def get_reception_by_id( def create_sample_reception( db: Session, *, - protocol_sample_id: str, + reception_source: str = "cell_storage", + protocol_sample_id: Optional[str] = None, + donation_sample_id: Optional[str] = None, + research_donation_id: Optional[str] = None, tenant_no: str, user_id: Optional[str], create_dept_id: str = "", @@ -357,28 +627,71 @@ def create_sample_reception( receive_attachments: Optional[str], remark: Optional[str], ) -> BizSampleReception: - sample = ( - db.query(BizProtocolSample) - .filter( - BizProtocolSample.id == protocol_sample_id, - BizProtocolSample.tenant_no == tenant_no, - BizProtocolSample.del_flag == 0, + source = (reception_source or "").strip() + if source not in ("cell_storage", "research_donation"): + raise ValueError("来源类型无效") + + # 按来源校验样本并获取关联 ID + if source == "cell_storage": + if not protocol_sample_id: + raise ValueError("细胞存储来源必须传入 protocolSampleId") + sample = ( + db.query(BizProtocolSample) + .filter( + BizProtocolSample.id == protocol_sample_id, + BizProtocolSample.tenant_no == tenant_no, + BizProtocolSample.del_flag == 0, + ) + .first() ) - .first() - ) - if not sample: - raise ValueError("样本不存在") - exists = ( - db.query(BizSampleReception) - .filter( - BizSampleReception.protocol_sample_id == protocol_sample_id, - BizSampleReception.tenant_no == tenant_no, - BizSampleReception.del_flag == 0, + if not sample: + raise ValueError("样本不存在") + exists = ( + db.query(BizSampleReception) + .filter( + BizSampleReception.protocol_sample_id == protocol_sample_id, + BizSampleReception.tenant_no == tenant_no, + BizSampleReception.del_flag == 0, + ) + .first() ) - .first() - ) - if exists: - raise ValueError("该样本已登记接收,请勿重复操作") + if exists: + raise ValueError("该样本已登记接收,请勿重复操作") + collection_protocol_id = sample.collection_protocol_id + _donation_sample_id = None + _research_donation_id = None + _sample_code = sample.sample_code or "" + else: + # research_donation + if not donation_sample_id: + raise ValueError("科研捐赠来源必须传入 donationSampleId") + dsample = ( + db.query(BizResearchDonationSample) + .filter( + _donation_sample_id_col(BizResearchDonationSample.id) == donation_sample_id, + BizResearchDonationSample.tenant_no == tenant_no, + BizResearchDonationSample.del_flag == 0, + ) + .first() + ) + if not dsample: + raise ValueError("捐赠样本不存在") + exists = ( + db.query(BizSampleReception) + .filter( + BizSampleReception.donation_sample_id == donation_sample_id, + BizSampleReception.tenant_no == tenant_no, + BizSampleReception.del_flag == 0, + ) + .first() + ) + if exists: + raise ValueError("该捐赠样本已登记接收,请勿重复操作") + collection_protocol_id = "" + protocol_sample_id = "" + _donation_sample_id = donation_sample_id + _research_donation_id = dsample.research_donation_id + _sample_code = dsample.sample_code or "" conclusion = (accept_conclusion or "").strip() if conclusion not in ("js", "bj"): @@ -392,8 +705,12 @@ def create_sample_reception( obj = BizSampleReception( id=generate_uuid(), - protocol_sample_id=protocol_sample_id, - collection_protocol_id=sample.collection_protocol_id, + protocol_sample_id=protocol_sample_id or "", + collection_protocol_id=collection_protocol_id or "", + reception_source=source, + donation_sample_id=_donation_sample_id, + research_donation_id=_research_donation_id, + sample_code=_sample_code or None, reception_time=reception_time, handler_user_id=handler_user_id, handler_name=handler_display or None, @@ -484,3 +801,40 @@ def get_receptions_map_for_samples( ) out[rec.protocol_sample_id] = item return out + + +def get_receptions_map_for_donation_samples( + db: Session, + sample_ids: List[str], + tenant_no: str, +) -> Dict[str, Dict[str, Any]]: + """按捐赠样本 ID 批量查询接收记录,供捐赠协议单查看弹窗使用。""" + if not sample_ids or not tenant_no: + return {} + rows = ( + db.query(BizSampleReception) + .filter( + BizSampleReception.donation_sample_id.in_(sample_ids), + BizSampleReception.tenant_no == tenant_no, + BizSampleReception.del_flag == 0, + ) + .all() + ) + if not rows: + return {} + reception_ids = [r.id for r in rows] + results_map = check_result_svc.list_results_by_reception_ids(db, reception_ids, tenant_no) + out: Dict[str, Dict[str, Any]] = {} + for rec in rows: + sid = rec.donation_sample_id + if not sid: + continue + cr = results_map.get(rec.id) + if not cr: + cr = check_result_svc.get_check_results_for_reception(db, rec, tenant_no) + item = _reception_to_dict(rec, check_results=cr) + item["receiveAttachmentFiles"] = urls_to_attachment_list( + rec.receive_attachments, db, tenant_no + ) + out[sid] = item + return out diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py index bf5fec0b..b9f73920 100644 --- a/backend/app/models/__init__.py +++ b/backend/app/models/__init__.py @@ -31,6 +31,12 @@ from app.models.models import ( BizProcessConsumable, BizProcessOutput, BizProcessDataCollection, + BizProcessRoute, + BizProcessRouteStep, + BizProcessRouteStepReagent, + BizProcessRouteStepConsumable, + BizProcessRouteStepOutput, + BizProcessRouteStepDataCollection, ) from app.models.research_donation import ( # noqa: F401 BizResearchDonation, @@ -80,4 +86,10 @@ __all__ = [ "BizProcessConsumable", "BizProcessOutput", "BizProcessDataCollection", + "BizProcessRoute", + "BizProcessRouteStep", + "BizProcessRouteStepReagent", + "BizProcessRouteStepConsumable", + "BizProcessRouteStepOutput", + "BizProcessRouteStepDataCollection", ] diff --git a/backend/app/models/models.py b/backend/app/models/models.py index ee5df57a..3ee55740 100644 --- a/backend/app/models/models.py +++ b/backend/app/models/models.py @@ -918,6 +918,7 @@ class BizProtocolSampleTransport(Base): id = Column(String(64), primary_key=True, comment="主键ID") collection_protocol_id = Column(String(64), nullable=False, comment="采集协议单ID") sample_id = Column(String(64), nullable=False, comment="样本ID") + sample_code = Column(String(32), nullable=True, comment="样本编码快照") transport_type = Column(String(16), nullable=False, comment="kdys快递运输 ryxd人员携带") express_company_id = Column(String(64), nullable=True, comment="快递公司ID") waybill_no = Column(String(128), nullable=True, comment="快递单号") @@ -1047,6 +1048,10 @@ class BizSampleReception(Base): check_no_stratification = Column(SmallInteger, nullable=False, default=0, comment="无分层") accept_conclusion = Column(String(16), nullable=False, comment="结论 js接收 bj拒收") receive_attachments = Column(String(4000), nullable=True, comment="接收附件") + reception_source = Column(String(20), nullable=False, default="cell_storage", comment="来源类型 cell_storage细胞存储 research_donation科研捐赠") + donation_sample_id = Column(String(64), nullable=True, comment="捐赠样本ID(仅科研捐赠)") + research_donation_id = Column(String(64), nullable=True, comment="科研捐赠单ID(仅科研捐赠)") + sample_code = Column(String(32), nullable=True, comment="样本编码快照") tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") order_num = Column(Integer, nullable=True, comment="排序号") remark = Column(String(512), nullable=True, comment="备注信息") @@ -1145,6 +1150,13 @@ class BizQcWorkOrder(Base): collection_protocol_id = Column(String(64), nullable=False, comment="协议单ID") protocol_no = Column(String(64), nullable=True, comment="协议号快照") sample_code = Column(String(32), nullable=True, comment="样本编码快照") + reception_source = Column(String(20), nullable=False, default="cell_storage", comment="来源类型 cell_storage/research_donation") + qc_biz_type = Column( + String(20), + nullable=False, + default="inbound", + comment="质检业务类型 inbound入库质检 outbound出库质检", + ) work_order_status = Column(String(16), nullable=False, default="dpz", comment="工单状态") has_lab = Column(String(1), nullable=False, default="0", comment="含实验室自检") has_third_party = Column(String(1), nullable=False, default="0", comment="含第三方检测") @@ -1217,12 +1229,14 @@ class BizQcTask(Base): task_no = Column(String(32), nullable=False, comment="任务号") task_type = Column(String(16), nullable=False, comment="sysz实验室 dsfjc第三方") source_line_id = Column(String(64), nullable=False, comment="工单明细行ID") + sample_code = Column(String(32), nullable=True, comment="样本编码快照") item_code = Column(String(64), nullable=False, comment="项目编码快照") item_name = Column(String(200), nullable=False, comment="项目名称快照") company_id = Column(String(64), nullable=True, comment="第三方公司ID") company_name = Column(String(200), nullable=True, comment="第三方公司名") fee_amount = Column(Numeric(18, 2), nullable=True, comment="费用快照") task_status = Column(String(16), nullable=False, default="dzx", comment="任务状态") + conclusion = Column(String(16), nullable=True, comment="检测结论 tg通过 btg不通过") third_party_attachments = Column(String(4000), nullable=True, comment="第三方材料") completed_time = Column(DateTime, nullable=True, comment="完成时间") completed_by = Column(String(64), nullable=True, comment="完成人") @@ -1962,4 +1976,142 @@ class BizProcessDataCollection(Base): del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") +class BizProcessRoute(Base): + """工艺路线 biz_process_route""" + + __tablename__ = "biz_process_route" + + id = Column(String(64), primary_key=True, comment="主键ID") + route_code = Column(String(64), nullable=False, comment="路线编码") + route_name = Column(String(100), nullable=False, comment="路线名称") + product_type_id = Column(String(64), nullable=True, comment="产品类型id") + version = Column(String(50), nullable=True, comment="版本号") + is_current = Column(CHAR(1), nullable=True, default="0", comment="是否当前版本(0-否 1-是)") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStep(Base): + """工艺路线步骤 biz_process_route_step""" + + __tablename__ = "biz_process_route_step" + + id = Column(String(64), primary_key=True, comment="主键ID") + route_id = Column(String(64), nullable=False, comment="路线id") + process_id = Column(String(64), nullable=True, comment="关联工艺id") + step_order = Column(Integer, nullable=True, comment="步骤顺序") + process_code = Column(String(64), nullable=True, comment="工序代码") + category_id = Column(String(64), nullable=True, comment="工序分类id") + process_name = Column(String(100), nullable=True, comment="工序名称") + description = Column(String(500), nullable=True, comment="描述") + equipment_name = Column(String(200), nullable=True, comment="预计使用设备名称") + estimated_duration = Column(String(100), nullable=True, comment="预估耗时") + sop_ids = Column(String(1000), nullable=True, comment="关联SOP文档id(逗号分隔)") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepReagent(Base): + """工艺路线步骤试剂 biz_process_route_step_reagent""" + + __tablename__ = "biz_process_route_step_reagent" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="步骤id") + reagent_code = Column(String(64), nullable=True, comment="试剂编码") + reagent_name = Column(String(100), nullable=True, comment="试剂名称") + spec = Column(String(200), nullable=True, comment="规格") + standard_usage = Column(String(100), nullable=True, comment="标准用量") + unit = Column(String(64), nullable=True, comment="单位") + is_key_material = Column(CHAR(1), nullable=True, default="0", comment="是否关键物料(0-否 1-是)") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepConsumable(Base): + """工艺路线步骤耗材 biz_process_route_step_consumable""" + + __tablename__ = "biz_process_route_step_consumable" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="步骤id") + consumable_code = Column(String(64), nullable=True, comment="耗材编码") + consumable_name = Column(String(100), nullable=True, comment="耗材名称") + spec_model = Column(String(200), nullable=True, comment="耗材规格型号") + standard_usage = Column(String(100), nullable=True, comment="标准用量") + unit = Column(String(64), nullable=True, comment="单位") + is_required = Column(CHAR(1), nullable=True, default="1", comment="是否必需(1-必须 0-可选)") + remark = Column(String(512), nullable=True, comment="备注") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepOutput(Base): + """工艺路线步骤产出物 biz_process_route_step_output""" + + __tablename__ = "biz_process_route_step_output" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="步骤id") + output_type_id = Column(String(64), nullable=True, comment="产出类型id") + output_name = Column(String(200), nullable=True, comment="产出物名称") + output_barcode = Column(String(200), nullable=True, comment="产出物条码") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepDataCollection(Base): + """工艺路线步骤数据采集项 biz_process_route_step_data_collection""" + + __tablename__ = "biz_process_route_step_data_collection" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="步骤id") + collection_name = Column(String(100), nullable=True, comment="采集项名称") + unit = Column(String(64), nullable=True, comment="单位") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + from app.models.qc_param import BizQcItemParam, BizQcTaskResult # noqa: E402,F401 diff --git a/backend/app/models/research_donation.py b/backend/app/models/research_donation.py index 284c4bf8..6ecd3c51 100644 --- a/backend/app/models/research_donation.py +++ b/backend/app/models/research_donation.py @@ -159,6 +159,7 @@ class BizResearchDonationSampleTransport(Base): id = Column(String(64), primary_key=True, comment="主键ID") research_donation_id = Column(String(64), nullable=False, comment="科研捐赠ID") sample_id = Column(String(64), nullable=False, comment="样本ID") + sample_code = Column(String(32), nullable=True, comment="样本编码快照") transport_type = Column(String(16), nullable=False, comment="kdys快递运输 ryxd人员携带") express_company_id = Column(String(64), nullable=True, comment="快递公司ID") waybill_no = Column(String(128), nullable=True, comment="快递单号") diff --git a/backend/app/schemas/process_route.py b/backend/app/schemas/process_route.py new file mode 100644 index 00000000..a9645f57 --- /dev/null +++ b/backend/app/schemas/process_route.py @@ -0,0 +1,122 @@ +"""工艺路线管理 Pydantic Schemas""" +from pydantic import BaseModel, ConfigDict, Field +from typing import Optional, List + + +# Route main table +class ProcessRouteCreateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_code: str = Field(..., alias="routeCode") + route_name: str = Field(..., alias="routeName") + product_type_id: Optional[str] = Field(None, alias="productTypeId") + version: Optional[str] = Field(None, alias="version") + remark: Optional[str] = None + + +class ProcessRouteUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_code: Optional[str] = Field(None, alias="routeCode") + route_name: Optional[str] = Field(None, alias="routeName") + product_type_id: Optional[str] = Field(None, alias="productTypeId") + version: Optional[str] = Field(None, alias="version") + remark: Optional[str] = None + + +class SetCurrentBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_id: str = Field(..., alias="routeId") + + +# Step operations +class StepAddBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_id: str = Field(..., alias="routeId") + process_id: str = Field(..., alias="processId") + step_order: Optional[int] = Field(None, alias="stepOrder") + + +class StepCopyBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + + +class StepUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + process_code: Optional[str] = Field(None, alias="processCode") + category_id: Optional[str] = Field(None, alias="categoryId") + process_name: Optional[str] = Field(None, alias="processName") + description: Optional[str] = None + equipment_name: Optional[str] = Field(None, alias="equipmentName") + estimated_duration: Optional[str] = Field(None, alias="estimatedDuration") + sop_ids: Optional[str] = Field(None, alias="sopIds") + + +class StepReorderBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_id: str = Field(..., alias="routeId") + step_ids: List[str] = Field(..., alias="stepIds") + + +# Step sub-table items +class StepReagentItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + reagent_code: Optional[str] = Field(None, alias="reagentCode") + reagent_name: Optional[str] = Field(None, alias="reagentName") + spec: Optional[str] = None + standard_usage: Optional[str] = Field(None, alias="standardUsage") + unit: Optional[str] = None + is_key_material: Optional[str] = Field("0", alias="isKeyMaterial") + remark: Optional[str] = None + + +class StepConsumableItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + consumable_code: Optional[str] = Field(None, alias="consumableCode") + consumable_name: Optional[str] = Field(None, alias="consumableName") + spec_model: Optional[str] = Field(None, alias="specModel") + standard_usage: Optional[str] = Field(None, alias="standardUsage") + unit: Optional[str] = None + is_required: Optional[str] = Field("1", alias="isRequired") + remark: Optional[str] = None + + +class StepOutputItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + output_type_id: Optional[str] = Field(None, alias="outputTypeId") + output_name: Optional[str] = Field(None, alias="outputName") + output_barcode: Optional[str] = Field(None, alias="outputBarcode") + remark: Optional[str] = None + + +class StepDataCollectionItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + collection_name: Optional[str] = Field(None, alias="collectionName") + unit: Optional[str] = None + order_num: Optional[int] = Field(0, alias="orderNum") + remark: Optional[str] = None + + +# Sub-table update bodies (step_id + items[]) +class StepReagentUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepReagentItem] = Field(...) + + +class StepConsumableUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepConsumableItem] = Field(...) + + +class StepOutputUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepOutputItem] = Field(...) + + +class StepDataCollectionUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepDataCollectionItem] = Field(...) diff --git a/docs/sql/biz_protocol_donation_convert.sql b/docs/sql/biz_protocol_donation_convert.sql deleted file mode 100644 index 4fccbe85..00000000 --- a/docs/sql/biz_protocol_donation_convert.sql +++ /dev/null @@ -1,21 +0,0 @@ --- 细胞存储采集协议 ⇄ 科研捐赠 转移关联(一对一) -CREATE TABLE IF NOT EXISTS `biz_protocol_donation_convert` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `convert_type` varchar(32) NOT NULL COMMENT 'storage_to_research/research_to_storage', - `protocol_id` varchar(64) NOT NULL COMMENT '采集协议单ID', - `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', - `biz_no` varchar(64) NOT NULL COMMENT '转移完成时共用编号快照', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT 0 COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT 0 COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_pdc_protocol` (`protocol_id`, `del_flag`), - KEY `idx_pdc_donation` (`research_donation_id`, `del_flag`), - KEY `idx_pdc_biz_no` (`tenant_no`, `biz_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='细胞存储协议与科研捐赠转移关联'; diff --git a/docs/sql/cell_storage_menu_reorder.sql b/docs/sql/cell_storage_menu_reorder.sql deleted file mode 100644 index c6c5a56e..00000000 --- a/docs/sql/cell_storage_menu_reorder.sql +++ /dev/null @@ -1,8 +0,0 @@ --- 细胞存储管理二级菜单:重命名 + 排序(已执行 zkxw.sql 的环境可单独运行) --- 顺序:采集协议单录入、采集协议单管理、缴费信息、缴费确认(财务)、退费确认(财务) - -UPDATE `sys_menu` SET `menu_name` = '采集协议单录入', `order_num` = 1 WHERE `id` = '50000000000000000000000000000002'; -UPDATE `sys_menu` SET `menu_name` = '采集协议单管理', `order_num` = 2 WHERE `id` = '50000000000000000000000000000003'; -UPDATE `sys_menu` SET `order_num` = 3 WHERE `id` = '904b5173519411f1944300163e3bdd96'; -UPDATE `sys_menu` SET `order_num` = 4 WHERE `id` = '50000000000000000000000000000004'; -UPDATE `sys_menu` SET `order_num` = 5 WHERE `id` = '50000000000000000000000000000005'; diff --git a/docs/sql/checkup_institution_package.sql b/docs/sql/checkup_institution_package.sql deleted file mode 100644 index 5f9ec891..00000000 --- a/docs/sql/checkup_institution_package.sql +++ /dev/null @@ -1,49 +0,0 @@ --- 体检机构项目套餐(主表 + 明细表) --- 套餐总价不落库,由明细 project_fee 汇总计算 - --- ---------------------------- --- Table structure for biz_checkup_institution_package --- ---------------------------- -DROP TABLE IF EXISTS `biz_checkup_institution_package_item`; -DROP TABLE IF EXISTS `biz_checkup_institution_package`; - -CREATE TABLE `biz_checkup_institution_package` ( - `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', - `checkup_institution_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '体检机构ID', - `package_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '套餐名称', - `package_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '套餐编码(必填,机构内未删除记录唯一,应用层校验)', - `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1' COMMENT '1正常 0停用', - `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_ck_pkg_inst` (`checkup_institution_id`,`del_flag`), - KEY `idx_ck_pkg_code` (`checkup_institution_id`,`package_code`,`del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='体检机构项目套餐'; - -CREATE TABLE `biz_checkup_institution_package_item` ( - `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', - `package_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '套餐ID', - `checkup_institution_project_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '机构项目ID', - `project_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称(快照)', - `project_fee` decimal(18,2) DEFAULT NULL COMMENT '套餐内项目费用(元),可独立于机构项目价', - `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_ck_pkg_item` (`package_id`,`checkup_institution_project_id`), - KEY `idx_ck_pkg_item_pkg` (`package_id`,`del_flag`), - KEY `idx_ck_pkg_item_proj` (`checkup_institution_project_id`,`del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='体检机构项目套餐明细'; diff --git a/docs/sql/checkup_institution_project_status.sql b/docs/sql/checkup_institution_project_status.sql deleted file mode 100644 index 5c014f6b..00000000 --- a/docs/sql/checkup_institution_project_status.sql +++ /dev/null @@ -1,3 +0,0 @@ --- 体检机构项目及价格表:增加状态字段 -ALTER TABLE `biz_checkup_institution_project` - ADD COLUMN `status` char(1) NOT NULL DEFAULT '1' COMMENT '1正常 0停用' AFTER `project_fee`; diff --git a/docs/sql/production.sql b/docs/sql/production.sql deleted file mode 100644 index da9285bf..00000000 --- a/docs/sql/production.sql +++ /dev/null @@ -1,297 +0,0 @@ --- ============================================================================ --- 生产管理模块 DDL(11张业务表 + 菜单 INSERT) --- ============================================================================ - --- --------------------------------------------------------------------------- --- 1. 生产耗材 biz_consumable --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_consumable` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `consumable_code` varchar(64) NOT NULL COMMENT '耗材编码', - `consumable_name` varchar(100) NOT NULL COMMENT '耗材名称', - `spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号', - `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', - `unit` varchar(64) DEFAULT NULL COMMENT '单位', - `description` varchar(500) DEFAULT NULL COMMENT '描述', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_consumable_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='生产耗材'; - --- --------------------------------------------------------------------------- --- 2. 试剂 biz_reagent --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_reagent` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `reagent_code` varchar(64) NOT NULL COMMENT '试剂编码', - `reagent_name` varchar(100) NOT NULL COMMENT '试剂名称', - `spec` varchar(200) DEFAULT NULL COMMENT '规格', - `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', - `unit` varchar(64) DEFAULT NULL COMMENT '单位', - `description` varchar(500) DEFAULT NULL COMMENT '描述', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_reagent_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='试剂'; - --- --------------------------------------------------------------------------- --- 3. SOP文档 biz_sop_document --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_sop_document` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `sop_code` varchar(64) NOT NULL COMMENT 'SOP编号', - `sop_name` varchar(200) NOT NULL COMMENT 'SOP文档名称', - `version_no` varchar(50) DEFAULT NULL COMMENT '版本号', - `sop_attachments` varchar(2000) DEFAULT NULL COMMENT 'SOP文档附件(逗号分隔URL)', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_sop_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SOP文档'; - --- --------------------------------------------------------------------------- --- 4. 工序分类 biz_process_category --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_process_category` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `category_code` varchar(64) NOT NULL COMMENT '分类编码', - `category_name` varchar(100) NOT NULL COMMENT '分类名称', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_pcat_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工序分类'; - --- --------------------------------------------------------------------------- --- 5. 产出类型 biz_output_type --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_output_type` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `type_code` varchar(64) NOT NULL COMMENT '类型编码', - `type_name` varchar(100) NOT NULL COMMENT '类型名称', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_otype_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产出类型'; - --- --------------------------------------------------------------------------- --- 6. 耗材包 biz_consumable_pack --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_consumable_pack` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `pack_code` varchar(64) NOT NULL COMMENT '编号', - `pack_name` varchar(100) NOT NULL COMMENT '名称', - `usage_scene` varchar(200) DEFAULT NULL COMMENT '使用场景', - `pack_type` varchar(20) DEFAULT NULL COMMENT '类型(bzhcb-标准耗材包 zdyhcb-自定义耗材包)', - `status` char(1) DEFAULT '1' COMMENT '状态(1-启用 0-停用)', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_cpack_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='耗材包'; - --- --------------------------------------------------------------------------- --- 7. 耗材包明细 biz_consumable_pack_item --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_consumable_pack_item` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `pack_id` varchar(64) NOT NULL COMMENT '耗材包id', - `consumable_code` varchar(64) DEFAULT NULL COMMENT '耗材编码', - `consumable_name` varchar(100) DEFAULT NULL COMMENT '耗材名称', - `spec_model` varchar(200) DEFAULT NULL COMMENT '耗材规格型号', - `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', - `unit` varchar(64) DEFAULT NULL COMMENT '单位', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_cpi_pack` (`pack_id`, `del_flag`), - KEY `idx_cpi_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='耗材包明细'; - --- --------------------------------------------------------------------------- --- 8. 工艺 biz_process --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_process` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `process_code` varchar(64) NOT NULL COMMENT '工序代码', - `category_id` varchar(64) DEFAULT NULL COMMENT '工序分类id', - `process_name` varchar(100) NOT NULL COMMENT '工序名称', - `description` varchar(500) DEFAULT NULL COMMENT '描述', - `equipment_name` varchar(200) DEFAULT NULL COMMENT '预计使用设备名称', - `estimated_duration` varchar(100) DEFAULT NULL COMMENT '预估耗时', - `sop_ids` varchar(1000) DEFAULT NULL COMMENT '关联SOP文档id(逗号分隔)', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_process_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺'; - --- --------------------------------------------------------------------------- --- 9. 工艺试剂 biz_process_reagent --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_process_reagent` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `process_id` varchar(64) NOT NULL COMMENT '工艺id', - `reagent_code` varchar(64) DEFAULT NULL COMMENT '试剂编码', - `reagent_name` varchar(100) DEFAULT NULL COMMENT '试剂名称', - `spec` varchar(200) DEFAULT NULL COMMENT '规格', - `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', - `unit` varchar(64) DEFAULT NULL COMMENT '单位', - `is_key_material` char(1) DEFAULT '0' COMMENT '是否关键物料(0-否 1-是)', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_pr_process` (`process_id`, `del_flag`), - KEY `idx_pr_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺试剂'; - --- --------------------------------------------------------------------------- --- 10. 工艺耗材 biz_process_consumable --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_process_consumable` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `process_id` varchar(64) NOT NULL COMMENT '工艺id', - `consumable_code` varchar(64) DEFAULT NULL COMMENT '耗材编码', - `consumable_name` varchar(100) DEFAULT NULL COMMENT '耗材名称', - `spec_model` varchar(200) DEFAULT NULL COMMENT '耗材规格型号', - `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', - `unit` varchar(64) DEFAULT NULL COMMENT '单位', - `is_required` char(1) DEFAULT '1' COMMENT '是否必需(1-必须 0-可选)', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_pc_process` (`process_id`, `del_flag`), - KEY `idx_pc_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺耗材'; - --- --------------------------------------------------------------------------- --- 11. 工艺产出物 biz_process_output --- --------------------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `biz_process_output` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `process_id` varchar(64) NOT NULL COMMENT '工艺id', - `output_type_id` varchar(64) DEFAULT NULL COMMENT '产出类型id', - `output_name` varchar(200) DEFAULT NULL COMMENT '产出物名称', - `output_barcode` varchar(200) DEFAULT NULL COMMENT '产出物条码', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_po_process` (`process_id`, `del_flag`), - KEY `idx_po_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺产出物'; - --- ============================================================================ --- 菜单数据 — 生产管理(父级 id='2' Web端菜单) --- ============================================================================ - --- 生产管理 目录(parent_id=2 即 Web端菜单根) -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000001', '生产管理', '2', 'M', '/production', '/index/index', NULL, 1, '1', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- 耗材管理 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000002', '耗材管理', '90000000000000000000000000000001', 'C', 'consumable', '/production/consumable/index', 'production:consumable:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- 耗材包管理 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000007', '耗材包管理', '90000000000000000000000000000001', 'C', 'consumable-pack', '/production/consumable-pack/index', 'production:consumable-pack:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- 试剂管理 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000003', '试剂管理', '90000000000000000000000000000001', 'C', 'reagent', '/production/reagent/index', 'production:reagent:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- 工艺工序分类 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000005', '工艺工序分类', '90000000000000000000000000000001', 'C', 'process-category', '/production/process-category/index', 'production:process-category:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- 工艺产出物类型 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000006', '工艺产出物类型', '90000000000000000000000000000001', 'C', 'output-type', '/production/output-type/index', 'production:output-type:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- 工艺库管理 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000008', '工艺库管理', '90000000000000000000000000000001', 'C', 'process', '/production/process/index', 'production:process:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); - --- SOP文档 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES -('90000000000000000000000000000004', 'SOP文档', '90000000000000000000000000000001', 'C', 'sop', '/production/sop/index', 'production:sop:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); diff --git a/docs/sql/production_consumable_add_unit.sql b/docs/sql/production_consumable_add_unit.sql deleted file mode 100644 index c61d879f..00000000 --- a/docs/sql/production_consumable_add_unit.sql +++ /dev/null @@ -1,9 +0,0 @@ --- 生产耗材相关表增加「单位」字段(与试剂 unit 一致,数据来自物品单位管理) -ALTER TABLE `biz_consumable` - ADD COLUMN `unit` varchar(64) DEFAULT NULL COMMENT '单位' AFTER `standard_usage`; - -ALTER TABLE `biz_consumable_pack_item` - ADD COLUMN `unit` varchar(64) DEFAULT NULL COMMENT '单位' AFTER `standard_usage`; - -ALTER TABLE `biz_process_consumable` - ADD COLUMN `unit` varchar(64) DEFAULT NULL COMMENT '单位' AFTER `standard_usage`; diff --git a/docs/sql/production_menu_reorder.sql b/docs/sql/production_menu_reorder.sql deleted file mode 100644 index d1e1af8b..00000000 --- a/docs/sql/production_menu_reorder.sql +++ /dev/null @@ -1,10 +0,0 @@ --- 生产管理二级菜单排序调整(已执行 production.sql 的环境可单独运行) --- 顺序:耗材管理、耗材包管理、试剂管理、工艺工序分类、工艺产出物类型、工艺库管理、SOP文档 - -UPDATE `sys_menu` SET `order_num` = 1 WHERE `id` = '90000000000000000000000000000002'; -UPDATE `sys_menu` SET `order_num` = 2 WHERE `id` = '90000000000000000000000000000007'; -UPDATE `sys_menu` SET `order_num` = 3 WHERE `id` = '90000000000000000000000000000003'; -UPDATE `sys_menu` SET `order_num` = 4 WHERE `id` = '90000000000000000000000000000005'; -UPDATE `sys_menu` SET `order_num` = 5 WHERE `id` = '90000000000000000000000000000006'; -UPDATE `sys_menu` SET `order_num` = 6 WHERE `id` = '90000000000000000000000000000008'; -UPDATE `sys_menu` SET `order_num` = 7 WHERE `id` = '90000000000000000000000000000004'; diff --git a/docs/sql/production_process_data_collection.sql b/docs/sql/production_process_data_collection.sql deleted file mode 100644 index a49e9d0b..00000000 --- a/docs/sql/production_process_data_collection.sql +++ /dev/null @@ -1,23 +0,0 @@ --- --------------------------------------------------------------------------- --- 工艺数据采集项 biz_process_data_collection --- 用途:在工艺库中配置该工艺需要采集的数据信息(名称、单位) --- --------------------------------------------------------------------------- - -CREATE TABLE IF NOT EXISTS `biz_process_data_collection` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `process_id` varchar(64) NOT NULL COMMENT '工艺id', - `collection_name` varchar(200) NOT NULL COMMENT '采集项名称', - `unit` varchar(64) DEFAULT NULL COMMENT '单位', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_pdc_process` (`process_id`, `del_flag`), - KEY `idx_pdc_tenant` (`tenant_no`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺数据采集项'; diff --git a/docs/sql/qc_item_param_and_task_result.sql b/docs/sql/qc_item_param_and_task_result.sql deleted file mode 100644 index 55013bf6..00000000 --- a/docs/sql/qc_item_param_and_task_result.sql +++ /dev/null @@ -1,44 +0,0 @@ --- 检测项目参数模板 -CREATE TABLE IF NOT EXISTS `biz_qc_item_param` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `item_source` varchar(16) NOT NULL COMMENT 'lab实验室 third_party第三方', - `item_id` varchar(64) NOT NULL COMMENT '检测项目ID', - `param_name` varchar(200) NOT NULL COMMENT '参数名称', - `param_code` varchar(64) NOT NULL COMMENT '参数编码', - `param_unit` varchar(32) DEFAULT NULL COMMENT '单位', - `param_type` varchar(16) NOT NULL DEFAULT 'text' COMMENT 'number/text/select', - `required_flag` char(1) NOT NULL DEFAULT '0' COMMENT '1必填 0非必填', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_qc_param_item` (`item_source`, `item_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='检测项目参数模板'; - --- 质检任务检测结果 -CREATE TABLE IF NOT EXISTS `biz_qc_task_result` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `task_id` varchar(64) NOT NULL COMMENT '质检任务ID', - `param_id` varchar(64) DEFAULT NULL COMMENT '参数模板ID', - `param_name` varchar(200) NOT NULL COMMENT '参数名快照', - `param_code` varchar(64) DEFAULT NULL COMMENT '参数编码快照', - `param_unit` varchar(32) DEFAULT NULL COMMENT '单位快照', - `param_type` varchar(16) NOT NULL DEFAULT 'text' COMMENT '类型快照', - `param_value` varchar(500) DEFAULT NULL COMMENT '填写值', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_qc_result_task` (`task_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检任务检测结果'; diff --git a/docs/sql/qc_task_conclusion.sql b/docs/sql/qc_task_conclusion.sql new file mode 100644 index 00000000..28291bc1 --- /dev/null +++ b/docs/sql/qc_task_conclusion.sql @@ -0,0 +1,5 @@ +-- 质检任务:检测结论(通过/不通过) +ALTER TABLE `biz_qc_task` + ADD COLUMN `conclusion` varchar(16) DEFAULT NULL + COMMENT '检测结论 tg通过 btg不通过' + AFTER `task_status`; diff --git a/docs/sql/qc_third_party_company_add_billing.sql b/docs/sql/qc_third_party_company_add_billing.sql deleted file mode 100644 index 5280f57c..00000000 --- a/docs/sql/qc_third_party_company_add_billing.sql +++ /dev/null @@ -1,6 +0,0 @@ --- 第三方检测公司:新增开票信息字段 -ALTER TABLE `biz_qc_third_party_company` - ADD COLUMN `invoice_title` varchar(200) DEFAULT NULL COMMENT '发票抬头' AFTER `address`, - ADD COLUMN `tax_id` varchar(64) DEFAULT NULL COMMENT '纳税人识别号' AFTER `invoice_title`, - ADD COLUMN `bank_name` varchar(200) DEFAULT NULL COMMENT '开户银行' AFTER `tax_id`, - ADD COLUMN `bank_account` varchar(64) DEFAULT NULL COMMENT '银行账号' AFTER `bank_name`; diff --git a/docs/sql/qc_work_order_biz_type.sql b/docs/sql/qc_work_order_biz_type.sql new file mode 100644 index 00000000..93951b45 --- /dev/null +++ b/docs/sql/qc_work_order_biz_type.sql @@ -0,0 +1,11 @@ +-- 质检工单/任务:区分入库质检与出库质检(未来) +ALTER TABLE `biz_qc_work_order` + ADD COLUMN `qc_biz_type` varchar(20) NOT NULL DEFAULT 'inbound' + COMMENT '质检业务类型 inbound入库质检 outbound出库质检' + AFTER `reception_source`; + +UPDATE `biz_qc_work_order` +SET `qc_biz_type` = 'inbound', + `update_time` = NOW() +WHERE `del_flag` = 0 + AND (`qc_biz_type` IS NULL OR `qc_biz_type` = ''); diff --git a/docs/sql/qc_work_order_menu_rename.sql b/docs/sql/qc_work_order_menu_rename.sql new file mode 100644 index 00000000..07bfd36f --- /dev/null +++ b/docs/sql/qc_work_order_menu_rename.sql @@ -0,0 +1,6 @@ +-- 质量检测:侧栏菜单「质检工单」更名为「入库质检工单」 +UPDATE `sys_menu` +SET `menu_name` = '入库质检工单', + `update_time` = NOW() +WHERE `id` = '70000000000000000000000000000007' + AND `del_flag` = 0; diff --git a/docs/sql/research_donation_collation_unicode_ci.sql b/docs/sql/research_donation_collation_unicode_ci.sql new file mode 100644 index 00000000..2bade2d6 --- /dev/null +++ b/docs/sql/research_donation_collation_unicode_ci.sql @@ -0,0 +1,10 @@ +-- 科研捐赠相关表排序规则与 biz_sample_reception 等表对齐(utf8mb4_unicode_ci) +-- 修复样本接收待办查询:Illegal mix of collations (utf8mb4_general_ci) and (utf8mb4_unicode_ci) +-- 在已有库执行本脚本一次即可 + +ALTER TABLE `biz_research_donation` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `biz_research_donation_audit` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `biz_research_donation_collection` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `biz_research_donation_party` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `biz_research_donation_sample` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `biz_research_donation_sample_transport` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/docs/sql/research_donation_menu_rename.sql b/docs/sql/research_donation_menu_rename.sql deleted file mode 100644 index b1ae0e71..00000000 --- a/docs/sql/research_donation_menu_rename.sql +++ /dev/null @@ -1,6 +0,0 @@ --- 科研捐赠管理二级菜单名称调整(已执行 research_donation_tables.sql 的环境可单独运行) --- 捐赠协议单 → 捐赠协议单录入 --- 捐赠协议审核 → 捐赠协议单管理 - -UPDATE `sys_menu` SET `menu_name` = '捐赠协议单录入', `update_time` = NOW() WHERE `id` = '60000000000000000000000000000002' AND `del_flag` = 0; -UPDATE `sys_menu` SET `menu_name` = '捐赠协议单管理', `update_time` = NOW() WHERE `id` = '60000000000000000000000000000003' AND `del_flag` = 0; diff --git a/docs/sql/research_donation_tables.sql b/docs/sql/research_donation_tables.sql deleted file mode 100644 index 874dcc75..00000000 --- a/docs/sql/research_donation_tables.sql +++ /dev/null @@ -1,176 +0,0 @@ --- 科研捐赠单主表 -CREATE TABLE IF NOT EXISTS `biz_research_donation` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `donation_no` varchar(64) NOT NULL COMMENT '捐赠协议编号', - `donation_status` varchar(16) NOT NULL DEFAULT 'dsx' COMMENT '捐赠状态 dsx待上线 sxz上线中 ygq已过期 yzf已作废 zckc转出库存', - `donation_date` char(8) DEFAULT NULL COMMENT '捐赠日期YYYYMMDD', - `source_type` varchar(20) NOT NULL DEFAULT 'direct' COMMENT '来源类型 direct独立新建 from_storage从细胞存储转来', - `source_protocol_id` varchar(64) DEFAULT NULL COMMENT '来源采集协议单ID(from_storage时关联)', - `consent_form_urls` text DEFAULT NULL COMMENT '知情同意书附件URL(逗号分隔)', - `attachment_urls` text DEFAULT NULL COMMENT '附件URL(逗号分隔)', - `collector_user_id` varchar(64) DEFAULT NULL COMMENT '采集专员用户ID', - `effective_time` datetime DEFAULT NULL COMMENT '生效时间', - `effective_desc` varchar(512) DEFAULT NULL COMMENT '生效描述', - `expire_time` datetime DEFAULT NULL COMMENT '过期时间', - `expire_desc` varchar(512) DEFAULT NULL COMMENT '过期描述', - `void_time` datetime DEFAULT NULL COMMENT '作废时间', - `void_desc` varchar(512) DEFAULT NULL COMMENT '作废描述', - `to_storage_time` datetime DEFAULT NULL COMMENT '转库存时间', - `to_storage_desc` varchar(512) DEFAULT NULL COMMENT '转库存描述', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注信息', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_rd_tenant_status` (`tenant_no`, `donation_status`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科研捐赠单主表'; - --- 科研捐赠单-审核记录 -CREATE TABLE IF NOT EXISTS `biz_research_donation_audit` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', - `auditor_user_id` varchar(64) DEFAULT NULL COMMENT '审核人', - `audit_remark` varchar(1000) DEFAULT NULL COMMENT '审核备注', - `audit_status` varchar(16) NOT NULL COMMENT '审核状态 shtg审核通过/shth审核退回', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_rda_donation` (`research_donation_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科研捐赠单-审核记录'; - --- 科研捐赠单-当事人客户信息 -CREATE TABLE IF NOT EXISTS `biz_research_donation_party` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', - `customer_id` varchar(64) DEFAULT NULL COMMENT '客户ID', - `mother_name` varchar(100) DEFAULT NULL COMMENT '母亲姓名', - `mother_phone` varchar(32) DEFAULT NULL COMMENT '母亲电话', - `mother_id_card` varchar(32) DEFAULT NULL COMMENT '母亲身份证号', - `mother_birth_ym` char(6) DEFAULT NULL COMMENT '母亲出生年月YYYYMM', - `mother_ethnic` varchar(32) DEFAULT NULL COMMENT '母亲民族', - `mother_address` varchar(512) DEFAULT NULL COMMENT '母亲地址', - `father_name` varchar(100) DEFAULT NULL COMMENT '父亲姓名', - `father_phone` varchar(32) DEFAULT NULL COMMENT '父亲电话', - `father_id_card` varchar(32) DEFAULT NULL COMMENT '父亲身份证号', - `newborn_name` varchar(100) DEFAULT NULL COMMENT '新生儿姓名', - `newborn_id_card` varchar(32) DEFAULT NULL COMMENT '新生儿身份证号', - `newborn_delivery_time` datetime DEFAULT NULL COMMENT '新生儿分娩时间', - `newborn_sex` char(1) DEFAULT NULL COMMENT '新生儿性别', - `delivery_mode` varchar(16) DEFAULT NULL COMMENT '分娩方式', - `birth_order` int(11) DEFAULT NULL COMMENT '出生顺序', - `newborn_weight_gram` int(11) DEFAULT NULL COMMENT '新生儿体重(克)', - `apgar_1min` decimal(4,1) DEFAULT NULL COMMENT 'Apgar 1分钟评分', - `apgar_5min` decimal(4,1) DEFAULT NULL COMMENT 'Apgar 5分钟评分', - `collector_user_id` varchar(64) DEFAULT NULL COMMENT '采集专员用户ID', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_rdp_donation` (`research_donation_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科研捐赠单-当事人客户信息'; - --- 科研捐赠单-采集信息 -CREATE TABLE IF NOT EXISTS `biz_research_donation_collection` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', - `region_id` varchar(64) DEFAULT NULL COMMENT '区域ID', - `hospital_id` varchar(64) DEFAULT NULL COMMENT '医院ID', - `medical_staff` varchar(200) DEFAULT NULL COMMENT '医护人员', - `sales_user_id` varchar(64) DEFAULT NULL COMMENT '销售人员用户ID', - `sample_collect_time` datetime DEFAULT NULL COMMENT '样本采集时间', - `maternal_blood_collect_time` datetime DEFAULT NULL COMMENT '母血采集时间', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_rdc_donation` (`research_donation_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科研捐赠单-采集信息'; - --- 科研捐赠单-样本信息 -CREATE TABLE IF NOT EXISTS `biz_research_donation_sample` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', - `sample_type_id` varchar(64) DEFAULT NULL COMMENT '样本类型ID', - `sample_code_id` varchar(64) DEFAULT NULL COMMENT '样本编码ID', - `sample_code` varchar(32) DEFAULT NULL COMMENT '样本编码', - `collect_amount` decimal(18,4) DEFAULT NULL COMMENT '采集量', - `unit_id` varchar(64) DEFAULT NULL COMMENT '单位ID', - `storage_years` int(11) DEFAULT NULL COMMENT '存储年限', - `sample_status` varchar(16) DEFAULT NULL COMMENT '样本状态', - `storage_in_date` char(8) DEFAULT NULL COMMENT '入库日期YYYYMMDD', - `detect_start_date` char(8) DEFAULT NULL COMMENT '检测开始日期YYYYMMDD', - `void_date` char(8) DEFAULT NULL COMMENT '作废日期YYYYMMDD', - `storage_expire_date` char(8) DEFAULT NULL COMMENT '存储到期日期YYYYMMDD', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_rds_donation` (`research_donation_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科研捐赠单-样本信息'; - --- 科研捐赠单-样本运输 -CREATE TABLE IF NOT EXISTS `biz_research_donation_sample_transport` ( - `id` varchar(64) NOT NULL COMMENT '主键ID', - `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', - `sample_id` varchar(64) NOT NULL COMMENT '样本ID', - `transport_type` varchar(16) NOT NULL COMMENT '运输方式 kdys快递运输 ryxd人员携带', - `express_company_id` varchar(64) DEFAULT NULL COMMENT '快递公司ID', - `waybill_no` varchar(128) DEFAULT NULL COMMENT '快递单号', - `dest_site_id` varchar(64) DEFAULT NULL COMMENT '目的站点ID', - `express_fee` decimal(18,2) DEFAULT NULL COMMENT '快递费用(元)', - `eta_time` datetime DEFAULT NULL COMMENT '预计到达时间', - `carrier_name` varchar(100) DEFAULT NULL COMMENT '携带人员姓名', - `carrier_phone` varchar(32) DEFAULT NULL COMMENT '携带人员联系电话', - `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', - PRIMARY KEY (`id`), - KEY `idx_rdst_donation` (`research_donation_id`, `del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科研捐赠单-样本运输'; - --- ============================================================ --- 科研捐赠管理 — sys_menu 菜单数据(ID 与 sqxp.ts 路由 ID 对应) --- parent_id = '2' 表示挂在 Web 端菜单根节点下 --- ============================================================ - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('60000000000000000000000000000001', '科研捐赠管理', '2', 'M', '/research-donation', '/index/index', NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('60000000000000000000000000000002', '捐赠协议单录入', '60000000000000000000000000000001', 'C', 'list', '/research-donation/list/index', 'biz:researchDonation:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('60000000000000000000000000000003', '捐赠协议单管理', '60000000000000000000000000000001', 'C', 'audit', '/research-donation/audit/index', 'biz:researchDonationAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0); diff --git a/docs/sql/seed_production_basic_data.sql b/docs/sql/seed_production_basic_data.sql deleted file mode 100644 index cf7f64f8..00000000 --- a/docs/sql/seed_production_basic_data.sql +++ /dev/null @@ -1,155 +0,0 @@ --- ============================================================ --- 生产管理模块基础测试数据 --- 涵盖:耗材 → 试剂 → 工序分类 → 产出类型 → 耗材包(含明细) --- 租户编号:zkxw --- 执行前若需重复导入,可先执行文末「清理脚本」 --- ============================================================ - --- ---------------------------- --- 1. 生产耗材(8 条) --- ---------------------------- -INSERT INTO `biz_consumable` - (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('prod_cons_001', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '贴壁细胞常规培养', - 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_002', 'HC002', '15mL 离心管', '无菌', '2', '支', '细胞传代离心分装', - 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_003', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', '培养基与试剂移液', - 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_004', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', '培养基除菌过滤', - 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_005', 'HC005', '细胞刮刀', '18cm', '1', '把', '贴壁细胞消化前刮取', - 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_006', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', '细胞冻存分装', - 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_007', 'HC007', '细胞计数板', '血球计数板', '1', '块', '台盼蓝计数用', - 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cons_008', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '操作防护', - 'zkxw', 8, NULL, NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 2. 试剂(6 条) --- ---------------------------- -INSERT INTO `biz_reagent` - (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('prod_reag_001', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '基础培养基', - 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_reag_002', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '培养基添加剂', - 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_reag_003', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '2', 'mL', '细胞消化', - 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_reag_004', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '细胞洗涤', - 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_reag_005', 'SJ005', '台盼蓝染液', '10mL', '0.1', 'mL', '死活细胞染色计数', - 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_reag_006', 'SJ006', 'DMSO 细胞冻存液', '100mL', '0.5', 'mL', '冻存保护剂', - 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 3. 工艺工序分类(5 条) --- ---------------------------- -INSERT INTO `biz_process_category` - (`id`, `category_code`, `category_name`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('prod_pcat_001', 'GXFL001', '细胞复苏', 'zkxw', 1, '从液氮取出至接种前', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pcat_002', 'GXFL002', '细胞传代', 'zkxw', 2, '贴壁细胞常规扩增', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pcat_003', 'GXFL003', '细胞冻存', 'zkxw', 3, '液氮冻存入库', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pcat_004', 'GXFL004', '收获与制剂', 'zkxw', 4, '上清收获或细胞收集', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pcat_005', 'GXFL005', '质检取样', 'zkxw', 5, '留样与送检取样', NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 4. 工艺产出物类型(5 条) --- ---------------------------- -INSERT INTO `biz_output_type` - (`id`, `type_code`, `type_name`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('prod_otype_001', 'CCLX001', '活细胞', 'zkxw', 1, '传代或扩增后的细胞悬液', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_otype_002', 'CCLX002', '冻存细胞', 'zkxw', 2, '液氮冻存管', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_otype_003', 'CCLX003', '上清液', 'zkxw', 3, '培养上清产物', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_otype_004', 'CCLX004', '留样', 'zkxw', 4, '质检留样管', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_otype_005', 'CCLX005', '废料', 'zkxw', 5, '废弃培养物', NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 5. 耗材包(4 条:2 标准 + 2 自定义) --- ---------------------------- -INSERT INTO `biz_consumable_pack` - (`id`, `pack_code`, `pack_name`, `usage_scene`, `pack_type`, `status`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('prod_pack_001', 'HCB001', '细胞传代标准包', '贴壁细胞 T25 传代', 'bzhcb', '1', - 'zkxw', 1, '含培养瓶、离心管、移液管等', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pack_002', 'HCB002', '细胞冻存标准包', '液氮冻存分装', 'bzhcb', '1', - 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pack_003', 'HCB003', '复苏接种自定义包', '复苏后首次接种', 'zdyhcb', '1', - 'zkxw', 3, '按项目定制', NULL, '', NOW(), NULL, NOW(), 0), - ('prod_pack_004', 'HCB004', '质检取样包(停用示例)', '留样分装', 'zdyhcb', '0', - 'zkxw', 4, '测试停用状态', NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 6. 耗材包明细(关联上述耗材包与耗材编码) --- ---------------------------- -INSERT INTO `biz_consumable_pack_item` - (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, - `tenant_no`, `order_num`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - -- 细胞传代标准包 HCB001 - ('prod_cpi_001', 'prod_pack_001', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', NULL, - 'zkxw', 1, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_002', 'prod_pack_001', 'HC002', '15mL 离心管', '无菌', '2', '支', NULL, - 'zkxw', 2, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_003', 'prod_pack_001', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', NULL, - 'zkxw', 3, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_004', 'prod_pack_001', 'HC005', '细胞刮刀', '18cm', '1', '把', NULL, - 'zkxw', 4, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_005', 'prod_pack_001', 'HC008', '一次性无菌手套', 'M 码', '1', '双', NULL, - 'zkxw', 5, NULL, '', NOW(), NULL, NOW(), 0), - - -- 细胞冻存标准包 HCB002 - ('prod_cpi_006', 'prod_pack_002', 'HC002', '15mL 离心管', '无菌', '2', '支', NULL, - 'zkxw', 1, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_007', 'prod_pack_002', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', NULL, - 'zkxw', 2, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_008', 'prod_pack_002', 'HC008', '一次性无菌手套', 'M 码', '1', '双', NULL, - 'zkxw', 3, NULL, '', NOW(), NULL, NOW(), 0), - - -- 复苏接种自定义包 HCB003 - ('prod_cpi_009', 'prod_pack_003', 'HC001', 'T25 细胞培养瓶', '25cm²', '2', '个', '双瓶接种', - 'zkxw', 1, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_010', 'prod_pack_003', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', NULL, - 'zkxw', 2, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_011', 'prod_pack_003', 'HC007', '细胞计数板', '血球计数板', '1', '块', NULL, - 'zkxw', 3, NULL, '', NOW(), NULL, NOW(), 0), - - -- 质检取样包 HCB004(停用包,明细仍保留供查看) - ('prod_cpi_012', 'prod_pack_004', 'HC002', '15mL 离心管', '无菌', '3', '支', NULL, - 'zkxw', 1, NULL, '', NOW(), NULL, NOW(), 0), - ('prod_cpi_013', 'prod_pack_004', 'HC006', '冻存管', '2mL 外旋盖', '2', '支', '留样管', - 'zkxw', 2, NULL, '', NOW(), NULL, NOW(), 0); - - --- ============================================================ --- 清理脚本(重复导入前可选执行,按 id 前缀删除) --- ============================================================ --- DELETE FROM `biz_consumable_pack_item` WHERE `id` LIKE 'prod_cpi_%'; --- DELETE FROM `biz_consumable_pack` WHERE `id` LIKE 'prod_pack_%'; --- DELETE FROM `biz_output_type` WHERE `id` LIKE 'prod_otype_%'; --- DELETE FROM `biz_process_category` WHERE `id` LIKE 'prod_pcat_%'; --- DELETE FROM `biz_reagent` WHERE `id` LIKE 'prod_reag_%'; --- DELETE FROM `biz_consumable` WHERE `id` LIKE 'prod_cons_%'; diff --git a/docs/sql/seed_qc_basic_data.sql b/docs/sql/seed_qc_basic_data.sql deleted file mode 100644 index a3bc6356..00000000 --- a/docs/sql/seed_qc_basic_data.sql +++ /dev/null @@ -1,160 +0,0 @@ --- ============================================================ --- 质检模块基础测试数据 --- 涵盖:第三方检测公司 → 第三方检测项目 → 实验室自检项目 --- 租户编号:zkxw --- ============================================================ - --- ---------------------------- --- 1. 第三方检测公司(6家) --- ---------------------------- -INSERT INTO `biz_qc_third_party_company` - (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, - `invoice_title`, `tax_id`, `bank_name`, `bank_account`, - `status`, `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('qc_tpc_001', 'DSF001', '安徽中检技术服务有限公司', '张建国', '13912345601', - '合肥市高新区望江西路800号A栋3楼', '安徽中检技术服务有限公司', '91340100MA2N0XYZ01', - '中国建设银行合肥高新区支行', '34001688608053001234', - '1', 'zkxw', 1, '长期合作方,具备CMA/CNAS资质', - NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_tpc_002', 'DSF002', '上海谱尼测试集团合肥分公司', '李明华', '13912345602', - '合肥市包河区繁华大道6588号', '上海谱尼测试集团有限公司', '9131011578056XYZ02', - '中国工商银行上海浦东支行', '10012029192001234567', - '1', 'zkxw', 2, '可做微生物、重金属检测', - NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_tpc_003', 'DSF003', '华测检测认证集团股份有限公司', '王晓燕', '13912345603', - '合肥市蜀山区长江西路1899号', '华测检测认证集团股份有限公司', '9144030077163XYZ03', - '招商银行深圳福田支行', '755916238910001', - '1', 'zkxw', 3, NULL, - NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_tpc_004', 'DSF004', '中检集团安徽有限公司', '赵伟', '13912345604', - '合肥市经开区翠微路12号', '中检集团安徽有限公司', '9134010068888XYZ04', - '中国银行合肥政务区支行', '18723456789001', - '1', 'zkxw', 4, '综合性检测机构', - NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_tpc_005', 'DSF005', '安徽国科检测科技有限公司', '刘芳', '13912345605', - '合肥市庐阳区濉溪路310号', '安徽国科检测科技有限公司', '91340100MA2UWEXYZ5', - '中国农业银行合肥庐阳支行', '12260101040012345', - '1', 'zkxw', 5, NULL, - NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_tpc_006', 'DSF006', '合肥微谱分析检测有限公司', '陈志强', '13912345606', - '合肥市高新区科学大道118号', '合肥微谱分析检测有限公司', '91340100MA2N0KXYZ6', - '交通银行合肥高新区支行', '341201000018012345678', - '0', 'zkxw', 6, '已暂停合作,状态停用', - NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 2. 第三方检测项目(每家公司2~3个项目,共14个) --- ---------------------------- -INSERT INTO `biz_qc_third_party_item` - (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - -- ── 安徽中检技术服务有限公司 (DSF001) ── - ('qc_tpi_001', 'qc_tpc_001', 'DSF001-001', '细胞活性检测', 800.00, '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_002', 'qc_tpc_001', 'DSF001-002', '微生物限度检查', 1200.00, '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_003', 'qc_tpc_001', 'DSF001-003', '内毒素检测(鲎试剂法)', 1500.00, '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── 上海谱尼测试集团合肥分公司 (DSF002) ── - ('qc_tpi_004', 'qc_tpc_002', 'DSF002-001', '重金属含量检测(铅镉汞砷)', 2000.00, '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_005', 'qc_tpc_002', 'DSF002-002', '细胞表型流式分析', 2500.00, '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── 华测检测认证集团股份有限公司 (DSF003) ── - ('qc_tpi_006', 'qc_tpc_003', 'DSF003-001', '支原体检测(PCR法)', 600.00, '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_007', 'qc_tpc_003', 'DSF003-002', '无菌检测', 900.00, '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_008', 'qc_tpc_003', 'DSF003-003', '细胞鉴别(STR图谱)', 1800.00, '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── 中检集团安徽有限公司 (DSF004) ── - ('qc_tpi_009', 'qc_tpc_004', 'DSF004-001', '乙肝五项检测', 500.00, '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_010', 'qc_tpc_004', 'DSF004-002', 'HIV/HCV/梅毒联合筛查', 800.00, '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── 安徽国科检测科技有限公司 (DSF005) ── - ('qc_tpi_011', 'qc_tpc_005', 'DSF005-001', '细胞计数与存活率', 300.00, '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_012', 'qc_tpc_005', 'DSF005-002', '病毒检测(qPCR法)', 1600.00, '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_tpi_013', 'qc_tpc_005', 'DSF005-003', '染色体核型分析', 2200.00, '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── 合肥微谱分析检测有限公司 (DSF006, 停用) ── - ('qc_tpi_014', 'qc_tpc_006', 'DSF006-001', '蛋白质含量测定', 700.00, '0', 'zkxw', 1, '公司已暂停合作', NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 3. 实验室自检项目(8个) --- ---------------------------- -INSERT INTO `biz_qc_lab_test_item` - (`id`, `item_code`, `item_name`, `description`, `status`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - ('qc_lti_001', 'LAB001', '细胞计数与活力检测', - '使用台盼蓝排斥法或自动细胞计数仪,检测样本中细胞总数及存活率', - '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_002', 'LAB002', '支原体检测(培养法)', - '采用支原体培养基法,观察14天,检测细胞培养物中是否污染支原体', - '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_003', 'LAB003', '无菌检测(直接接种法)', - '将样本分别接种于需氧/厌氧培养基,观察14天,判断是否无菌', - '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_004', 'LAB004', '内毒素检测(凝胶法)', - '使用鲎试剂凝胶法测定样本中的细菌内毒素含量', - '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_005', 'LAB005', '细胞表型检测(CD标记)', - '采用流式细胞术检测细胞表面标记物,如CD34、CD45、CD73、CD90等', - '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_006', 'LAB006', '细胞分化能力检测', - '诱导分化后通过染色或流式分析,验证干细胞的成骨/成脂/成软骨分化能力', - '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_007', 'LAB007', '病原微生物快速筛查', - '采用PCR/RT-PCR方法快速筛查乙肝、丙肝、HIV、梅毒、巨细胞病毒等', - '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - ('qc_lti_008', 'LAB008', '渗透压检测', - '使用渗透压仪测定细胞冻存液或培养基的渗透压值', - '0', 'zkxw', 8, '暂未开展,保留项目', NULL, '', NOW(), NULL, NOW(), 0); - - --- ---------------------------- --- 4. 检测项目参数模板(为部分项目配置参数) --- ---------------------------- -INSERT INTO `biz_qc_item_param` - (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, - `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES - -- ── LAB001 细胞计数与活力检测 的参数 ── - ('qc_ip_001', 'lab', 'qc_lti_001', '细胞总数', 'total_count', '×10⁶', 'number', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_002', 'lab', 'qc_lti_001', '存活率', 'viability', '%', 'number', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_003', 'lab', 'qc_lti_001', '检测方法', 'method', NULL, 'text', '0', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── LAB004 内毒素检测(凝胶法) 的参数 ── - ('qc_ip_004', 'lab', 'qc_lti_004', '内毒素含量', 'endotoxin', 'EU/mL', 'number', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_005', 'lab', 'qc_lti_004', '限值标准', 'limit_std', 'EU/mL', 'number', '0', 'zkxw', 2, '根据剂型不同限值不同', NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_006', 'lab', 'qc_lti_004', '判定结果', 'result', NULL, 'text', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── LAB005 细胞表型检测 的参数 ── - ('qc_ip_007', 'lab', 'qc_lti_005', 'CD34阳性率', 'cd34_pos', '%', 'number', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_008', 'lab', 'qc_lti_005', 'CD45阳性率', 'cd45_pos', '%', 'number', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_009', 'lab', 'qc_lti_005', 'CD73阳性率', 'cd73_pos', '%', 'number', '0', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── DSF001-001 细胞活性检测(第三方)的参数 ── - ('qc_ip_010', 'third_party', 'qc_tpi_001', '细胞活性率', 'activity_rate', '%', 'number', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_011', 'third_party', 'qc_tpi_001', '检测依据', 'standard', NULL, 'text', '0', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - - -- ── DSF002-001 重金属含量检测(第三方)的参数 ── - ('qc_ip_012', 'third_party', 'qc_tpi_004', '铅(Pb)', 'pb', 'mg/kg', 'number', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_013', 'third_party', 'qc_tpi_004', '镉(Cd)', 'cd', 'mg/kg', 'number', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_014', 'third_party', 'qc_tpi_004', '汞(Hg)', 'hg', 'mg/kg', 'number', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0), - ('qc_ip_015', 'third_party', 'qc_tpi_004', '砷(As)', 'as', 'mg/kg', 'number', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0); diff --git a/docs/sql/sys_menu_pilot_service.sql b/docs/sql/sys_menu_pilot_service.sql deleted file mode 100644 index 65f06ae5..00000000 --- a/docs/sql/sys_menu_pilot_service.sql +++ /dev/null @@ -1,25 +0,0 @@ --- 中试服务管理菜单 (Web端,parent_id=2 为 Web 端根菜单) --- 与前端路由 sqxp.ts 中 PilotService 路由块对应 - --- 一级菜单目录 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000001', '中试服务管理', '2', 'M', '/pilot-service', NULL, NULL, 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0); - --- 二级菜单 -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000002', '细胞产品类型管理', '80000000000000000000000000000001', 'C', 'cell-product-type', 'pilot-service/cell-product-type/index', NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000003', '细胞产品规格管理', '80000000000000000000000000000001', 'C', 'cell-product-spec', 'pilot-service/cell-product-spec/index', NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000004', '细胞产品价格体系管理', '80000000000000000000000000000001', 'C', 'cell-product-price', 'pilot-service/cell-product-price/index', NULL, 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000005', '细胞产品项目价格管理', '80000000000000000000000000000001', 'C', 'project-price-system', 'pilot-service/project-price-system/index', NULL, 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000006', '渠道信息管理', '80000000000000000000000000000001', 'C', 'channel', 'pilot-service/channel/index', NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0); - -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) -VALUES ('80000000000000000000000000000007', '体检机构及项目价格', '80000000000000000000000000000001', 'C', 'checkup-institution', 'pilot-service/checkup-institution/index', NULL, 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0); diff --git a/docs/sql/zkxw.sql b/docs/sql/zkxw.sql index fa3a6d3e..96be5023 100644 --- a/docs/sql/zkxw.sql +++ b/docs/sql/zkxw.sql @@ -11,7 +11,7 @@ Target Server Version : 50736 (5.7.36) File Encoding : 65001 - Date: 17/05/2026 19:43:58 + Date: 19/05/2026 15:15:58 */ SET NAMES utf8mb4; @@ -50,31 +50,45 @@ CREATE TABLE `biz_attachment` ( BEGIN; INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0109c0c647ad4a4387df9dce519f41f7', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/14/a23c271d57124e92982816002a89edc3.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:33:04', NULL, '2026-05-14 21:33:04', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('017659ed91e241ad9f7180a49a093aaa', NULL, NULL, '0fb7a9ee09724a46bfc8b85cbaeb21c3.jpeg', 'jpeg', 'protocol/202605/16/b2fb254873d44976bcb395a886aee6d6.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:03:21', NULL, '2026-05-16 20:03:21', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('01770d35b8a44a0b9942a90d6f710fc8', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'channel/202605/18/5563b6f27bdb443ca5e359b306dcf228.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:52:49', NULL, '2026-05-18 13:52:49', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('02e26e380b734ecab0f17641c7d8273a', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'channel/202605/18/b662a27ec73c418cb5004d9b39227b4c.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 15:15:00', NULL, '2026-05-18 15:15:00', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('04415021d8eb418c9cb4ba3a14bb7359', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'sample-reception/202605/17/82c34b4104c7430b9061e69b88d1a19c.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:24:31', NULL, '2026-05-17 16:24:31', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('05c75ee86bdc49a1bcbb4ed042deeadb', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/a32e136ec8484aafa4e091ca1e8a668d.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:10:26', NULL, '2026-05-14 21:10:26', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('08c50beb50d74261be6bd64c677472d1', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'protocol-payment-refund/202605/17/30d1aa0397ff423a921de9ff119a412d.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:26:10', NULL, '2026-05-17 11:26:10', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('09a8b7278677491992d8fd2216b08600', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'protocol/202605/16/fcab56dd1868474cb45b2074f36611c6.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:49:49', NULL, '2026-05-16 18:49:49', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0bb1c1287e8c49f4a91b92f4bfd4d7b7', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/14/e539ca9787d744579f1db37e486c46b2.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:06:19', NULL, '2026-05-14 21:06:19', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0d17d8f6782b4b7383b9c01baaae6343', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'donation-other/202605/19/bb0b6f9334a3442d8fd1c447f3c62954.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:21:19', NULL, '2026-05-19 10:21:19', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0d3849cc913446768e74371a6d6c80d0', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/f5d3eb7b1a1e4276b5325f49035e21ee.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:52:27', NULL, '2026-05-17 21:52:27', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('10375cfa7b0b412f94a8e1102daa9df0', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'protocol/202605/14/66409a5538e84325917ad2e477288cd3.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:28:08', NULL, '2026-05-14 21:28:08', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('141cb18ea0994afd96bc4b6a03d72ba3', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-payment/202605/17/6ebedb900a014c48afbd6d0fd86ee8c7.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:08:38', NULL, '2026-05-17 21:08:38', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('141f34bd71d647f2872d9b420e2fe048', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-payment/202605/16/fcd96e554a764448a5ad22272a34a275.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:35', NULL, '2026-05-16 20:15:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1596600ec7964f1a8e61ce2076656cb4', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/17/a9049baf73b340f0b55c656cd6984d9f.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:10:58', NULL, '2026-05-17 16:10:58', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('17684f1e20e94240a73b513f23b9e9d6', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/10d98878be8141d8b6a5a7a01e8e6137.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:58:13', NULL, '2026-05-17 15:58:13', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('19cc97fe2c2d45d78d75c03c583b8411', NULL, NULL, '1.jpg', 'jpg', 'protocol/202605/16/045aba5303104fea996a77c3a7029907.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:31:34', NULL, '2026-05-16 18:31:34', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1b862e105f424280bc5207e4468049d8', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'channel/202605/18/14de0bb205b34c589f96cf381345e371.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 15:15:01', NULL, '2026-05-18 15:15:01', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('206840d86b1144219592799d67fa0a34', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', '202605/18/c6eb1c26a3634bd7ac09329657ca8349.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 17:23:31', NULL, '2026-05-18 17:23:31', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('210d8925ebd149dc8b2af1014fee5507', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'protocol-finance-refund/202605/17/316df6aec04847be836074e4db8c7633.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:00:51', NULL, '2026-05-17 16:00:51', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('216484834436457788d15d791d241504', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/c87f25be044f4fd29d5279015301baa1.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:20:52', NULL, '2026-05-14 21:20:52', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('21f04cb3b75048ebb3d2f14e27f3d2ea', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'protocol-payment/202605/17/d85acd3faff046dfa223cd23d5d2bd59.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:02', NULL, '2026-05-17 21:21:02', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('22a661840fa14ba48d9a683c2abbc6c3', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'sample-reception/202605/17/5d67a7eba6594796b54c4b48d4e3738b.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:26:38', NULL, '2026-05-17 16:26:38', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('24200f4784bc4ab49118f3d04299c470', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-payment-refund/202605/17/5c72742e0f764effbd07f0f9056a172b.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:51:54', NULL, '2026-05-17 21:51:54', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('25f381cea24e41b09e8f52056c785289', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-payment-refund/202605/17/f229d5f233574071ad4ec64f5ad3bcc9.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:26:10', NULL, '2026-05-17 11:26:10', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('28bb5f78592946b3b5ac927cd97ef206', NULL, NULL, '1.jpg', 'jpg', 'protocol/202605/16/c93e7c4613524efab78d5f984ae5078c.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:03:21', NULL, '2026-05-16 20:03:21', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2b56fe2d5f2343d9ae94612b085b56e0', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-payment/202605/16/81b89839bcad4f0b874448c0055c506c.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:36', NULL, '2026-05-16 20:15:36', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2c5b972bbbe246cf82178a0a8340ea33', NULL, NULL, '副本天台技师数字化校园平台采购需求V1.0.docx', 'docx', 'protocol/202605/14/813bdaa3aa994f13a8c826821171c9da.docx', 212013, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:28:11', NULL, '2026-05-14 21:28:11', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2e3bcb9e19824e4aad1e2bf69c8f0c9d', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'channel/202605/18/5c70abb6daee41d88aa75cad3fd6ee2f.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 15:15:00', NULL, '2026-05-18 15:15:00', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2fdff1e9fa0b47038d418e0266351421', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'sample-reception/202605/17/9918e30a27d7457f8b080d54d01de550.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:24:34', NULL, '2026-05-17 16:24:34', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2fe3b4b55739490489feea3795ed7f60', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/80a4410a9eed4b1391d644b72c98a2aa.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:58:39', NULL, '2026-05-17 15:58:39', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3265737207bc4edaa1a82cd5f191047e', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/1aeb8a00059747b8b81e26dd7e6620bc.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:55:35', NULL, '2026-05-17 15:55:35', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('32855e033a6a41268c240cbdff32b8d4', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'donation-consent/202605/19/d1b9e850c9474d17907873d7e561db4d.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:46', NULL, '2026-05-19 11:39:46', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('32d8eae1dddb4ba9bdc1253a010c2ff3', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'donation-other/202605/19/d70d4a696ecb49e08c546ef12ceb4be0.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:51', NULL, '2026-05-19 11:39:51', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('35789829a5ae4712a6728cad3592fff5', NULL, NULL, '杭州第一技师学院数字化校园建设招标文件5.8定稿(2).docx', 'docx', 'protocol/202605/14/4f14f67a0eb44f2391ec8dd8b335bdc8.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:29:35', NULL, '2026-05-14 21:29:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('35fdb2582538482ca2acd23a224e89dc', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-receipt/202605/17/a4e754fe53f04aaaa23b96db018944b9.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:50:15', NULL, '2026-05-17 15:50:15', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('36671e1f03c547b39b8f7a2896fc62a2', NULL, NULL, '2fcd7b1a95319861f2309ebfdf717402.jpeg', 'jpeg', 'protocol-finance-receipt/202605/17/cc1384ada0c34a2a972a98f8204554f9.jpeg', 76865, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:49:57', NULL, '2026-05-17 21:49:57', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3be07af36e9f4b778abbd8b9d49722b3', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'protocol-finance-receipt/202605/17/4861b862d50d41a8bedb19c3192f7f9d.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:45:04', NULL, '2026-05-17 15:45:04', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3f529e99cc5a4c99a1108ef63e3d52dd', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/f91893b9af5f4c959427aa608cb509ce.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:25:00', NULL, '2026-05-17 11:25:00', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4596238b2081423a9fa329bb74bcf697', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/d55b8aef127a42a2bfdbc29c4fb85bd8.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:33:04', NULL, '2026-05-14 21:33:04', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4781e55ce6d64c34a5897d687372179f', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'donation-consent/202605/19/10bae9d643b346c786a457bdada9ea78.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:21:14', NULL, '2026-05-19 10:21:14', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4925da4dc1fe4e668d555f6207ad8a34', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-payment-refund/202605/17/b4dbf7f9233a4644bd33a18e8b0f7a14.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:10:46', NULL, '2026-05-17 11:10:46', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4b62c528ff8c4fa2a6ec8c6cec308b8d', NULL, NULL, '副本天台技师数字化校园平台采购需求V1.0.docx', 'docx', 'protocol/202605/14/2466f523c71f442f91457586b4e55365.docx', 212013, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:08:41', NULL, '2026-05-14 21:08:41', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4cba76e5cbb84acaba3dff2a902a6200', NULL, NULL, '0f6f9e20c16004e044e94c800b0aab2d.jpg', 'jpg', 'protocol-finance-receipt/202605/17/9eb2b0368d314383a5d967697fbdcf13.jpg', 394391, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:45:04', NULL, '2026-05-17 15:45:04', 0); @@ -87,41 +101,62 @@ INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_na INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('58401177ce0f4bf0b2e50e87769f82b0', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-payment-refund/202605/17/e59fb6b0393247da990ec242e66fc951.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:26:11', NULL, '2026-05-17 11:26:11', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('588f2807738840989b9d40ca5623ba32', NULL, NULL, '0fb7a9ee09724a46bfc8b85cbaeb21c3.jpeg', 'jpeg', 'protocol-payment/202605/16/a0152723d46944fba45571f73ee080ef.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:06', NULL, '2026-05-16 22:51:06', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5923df25454140659ef676b83d66f554', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol/202605/16/4095ea574dca4f0584f9a613b65b10f3.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:31:34', NULL, '2026-05-16 18:31:34', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5f9a792f19f5433f803c091081508338', NULL, NULL, '菠菜.jpg', 'jpg', 'channel/202605/18/518ce769371649409cbb4660912e0570.jpg', 390090, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:46:40', NULL, '2026-05-18 13:46:40', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5fd0058f42e74159b44f5dcae675f9fe', NULL, NULL, '0fb7a9ee09724a46bfc8b85cbaeb21c3.jpeg', 'jpeg', 'protocol/202605/16/423b5e5596d547e4adba4f87f9df12a4.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:11:51', NULL, '2026-05-16 20:11:51', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('618f842474ba4df38a83caba5d35121d', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/3894db6f28904f96b8a59eb1bc9b139d.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:00:51', NULL, '2026-05-17 16:00:51', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6267f25395e1488d9f99f0feb2090734', NULL, NULL, '杭州第一技师学院数字化校园建设招标文件5.8定稿(2).docx', 'docx', 'channel/202605/18/fc77e3f527b24d8abf57b4c3900fb531.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 17:47:04', NULL, '2026-05-18 17:47:04', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('658839504d7343589e342dca47a72791', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'protocol-finance-refund/202605/17/17deef041fea4d77b061aa26d72b8606.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:55:36', NULL, '2026-05-17 15:55:36', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('668b2631421a4ad5b92d56443c0992b1', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/020923af57bd426aa246a96b30d07618.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:00:45', NULL, '2026-05-17 16:00:45', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('66b24e2703084fa19f9f657d7bfcf364', NULL, NULL, '0f6f9e20c16004e044e94c800b0aab2d.jpg', 'jpg', 'protocol/202605/17/17c6f1176d614d869dfc6c3df752e21a.jpg', 394391, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:39:59', NULL, '2026-05-17 21:39:59', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('68758816bd764d838e9873068b7ca048', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'channel/202605/18/fc9e6c6569174fb58e3a21973d7dc300.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:52:50', NULL, '2026-05-18 13:52:50', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6b5f01f5e8a14d7ca006a60d2e4c9383', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'sample-reception/202605/17/c46d9f6732c042f290f86130023e90e3.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:14:37', NULL, '2026-05-17 22:14:37', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6c6502c3c2d1407b8f3d47e258c69189', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/2847681fe6b64c0d955cba2bd608d370.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:55:35', NULL, '2026-05-17 15:55:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6e9bc86cfe7946759053506e76e5f865', NULL, NULL, '副本天台技师数字化校园平台采购需求V1.0.docx', 'docx', 'protocol/202605/14/2ee32cfd619740e3a828ecba0d74e1c8.docx', 212013, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:33:04', NULL, '2026-05-14 21:33:04', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('707894aabc6f48d3a2ad61d849d785ea', NULL, NULL, '2a02c0a818d708115ddef32296910f66.jpeg', 'jpeg', 'protocol/202605/17/504fb0d7813b455286182470d0f4a011.jpeg', 653387, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:40:21', NULL, '2026-05-17 21:40:21', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('74047c81c1ab4e1abc5eb5878243f37f', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'donation-consent/202605/19/fe95b91c70a945c1b5e0f6b95e75d458.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:27:50', NULL, '2026-05-19 10:27:50', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('769f9d5555a84671838965bab460f760', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/24031c9a311740d09be61c5a406400d3.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:06:18', NULL, '2026-05-14 21:06:18', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('795e6e9fa925404487bf8caec9b3acae', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'sample-reception/202605/17/917d07a3991e47d58613ce6a23842777.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:27:55', NULL, '2026-05-17 16:27:55', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7eae7cd8831e446c907f6aba37010864', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'channel/202605/18/f3daa686a6de4e7a9dce3880aec069b7.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:52:52', NULL, '2026-05-18 13:52:52', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('823e7b98fefd44d4823f363870588a0c', NULL, NULL, '1.jpg', 'jpg', 'donation-consent/202605/19/3eaf892738a54e278b526a26eebc08e5.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:27:51', NULL, '2026-05-19 10:27:51', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('852b7c3d327b40c2a7bb5df39b2d8d07', NULL, NULL, '杭州第一技师学院数字化校园建设招标文件5.8定稿(2).docx', 'docx', '202605/18/399771c8bb7f49b6ab4036fd6537ffbb.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 17:26:30', NULL, '2026-05-18 17:26:30', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('85399ea15ee44ab4857ffa45117023f9', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-finance-receipt/202605/17/6eccd03cca22463bbad941aa51c4ed3c.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:24:43', NULL, '2026-05-17 11:24:43', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8615271a076e435aa1d40faf900e468b', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'donation-consent/202605/19/e3bd976f8c4c433f89e784bd527f0f31.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:32:43', NULL, '2026-05-19 10:32:43', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('88cab14ff87c4c6e970875d28cbe2bb4', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/939c8285eb134cd4a2de9a81bb3766fc.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:58:39', NULL, '2026-05-17 15:58:39', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8f2c1fe0f2fb4a44ab8ad67b40b5f70c', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol/202605/16/68de6647c726467a8d7fcaf3d605cac1.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:49:49', NULL, '2026-05-16 18:49:49', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90893d1add5b4b95b2e7a2a092227d5a', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/63d2e6e7e22b47668c4d9d8663f4146d.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:58:12', NULL, '2026-05-17 15:58:12', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9231ba65b7894b50a11c0a34a8552d4c', NULL, NULL, '安庆师范.md', 'md', '202605/18/336f4cad9ed940999c5451283f0d0e28.md', 9193, 'text/markdown', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 16:44:54', NULL, '2026-05-18 16:44:54', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('94df7cac7d86466f8690e360a35950f7', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/a52b6f3d31d743d08064647466f53060.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:50:53', NULL, '2026-05-17 15:50:53', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9672934a7a9c40ff917e9bbabb027b9c', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-payment-refund/202605/17/e53fe4c8924e4995a01619e792f1f8d1.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 11:10:49', NULL, '2026-05-17 11:10:49', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('99863c9144174b58b01868e171dcf6e3', NULL, NULL, '副本天台技师数字化校园平台采购需求V1.0.docx', 'docx', 'protocol/202605/14/689d6f1939b14e6ca02442b3e46abf51.docx', 212013, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:06:19', NULL, '2026-05-14 21:06:19', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9cf1634c23d84272855c2ce5592a58b4', NULL, NULL, '菠菜.jpg', 'jpg', 'channel/202605/18/0a51342a694144898d4d77509cdcabb0.jpg', 390090, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:52:02', NULL, '2026-05-18 13:52:02', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9d5e691136684c4fb7ffc90280a039ea', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/14/e6757c3083d9453e838bf7ed6032d95a.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:27:45', NULL, '2026-05-14 21:27:45', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9dd27100ece5467193fbc772daef475a', NULL, NULL, '1.jpg', 'jpg', 'protocol/202605/16/2b7c4a54e7584b96884d9993a02c0dcb.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:40:56', NULL, '2026-05-16 18:40:56', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('a1b2b296885b432aa83a03e5ed10c390', NULL, NULL, '1.jpg', 'jpg', 'protocol-payment/202605/16/1e25c285eda94965af90352921fb365f.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:06:18', NULL, '2026-05-16 20:06:18', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('a1c50a5dc42d4b299f97e0bf4ce16cce', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-receipt/202605/17/e547ff23eac542c994dc4d57d9e35ed8.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:44:59', NULL, '2026-05-17 15:44:59', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('a233189641e046659a4ef1d086cd5710', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'channel/202605/18/7ebb14c112044c568250a3055f1e2651.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 15:14:59', NULL, '2026-05-18 15:14:59', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('a23f43d11187408e9c16635ffd81b7f2', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'sample-reception/202605/17/88016423cacf4f1da5c9b49890f11c5f.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:24:31', NULL, '2026-05-17 16:24:31', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('a35e18f3e38844e9b62c8dfddcb5c44d', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'sample-reception/202605/17/d7082b67b3984db293ffec6a401c3d03.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:27:55', NULL, '2026-05-17 16:27:55', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('b501da0c397341f2959e3f9e0e60bb22', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-payment/202605/16/dbbfe85a051641578642ff231fe531ca.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:01', NULL, '2026-05-16 22:50:01', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('b5dc5e8b6ed2484bbc6ab7a6a242f6f9', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/190e67dfc1db4f178090fb6cd0b33be6.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:56:02', NULL, '2026-05-17 15:56:02', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('b93fecc4a4064a57941cdfeca6d492e4', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/17/a9c200ba90354902a0572d22035d66cb.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:17:25', NULL, '2026-05-17 21:17:25', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('ba0020fca2964a41857c1d7a0de40e30', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/14/cd9d2c39eefe47cfb03099ca88f5d5d9.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 22:00:36', NULL, '2026-05-14 22:00:36', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('ba563235f99a4b4fa2824f0464cbbbd5', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol/202605/14/df03665c547c47dab79c38fe3ba0874d.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:29:35', NULL, '2026-05-14 21:29:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('bcd9e535dd13414193dd146df9f6737c', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'sample-reception/202605/17/567ae8a12ec647afbfe4ac8307fa0858.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:26:38', NULL, '2026-05-17 16:26:38', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('bf9224b8113b461a984c75a567c8e37e', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/1da0ce39c91c4c15a593ea9cdeca919c.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:00:45', NULL, '2026-05-17 16:00:45', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('bfa1f5b8b28841b29b852e72124781f8', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/c5bb00ee61fb4af5a6b66dd554ea7ef9.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:50:53', NULL, '2026-05-17 15:50:53', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('bfaea7b863b040ae99d8a7245e338c47', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/17/ee985c8d769442d1b911103e70badaf4.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 20:53:21', NULL, '2026-05-17 20:53:21', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('c1be951522654fb190b3549b71b8ccd8', NULL, NULL, '杭州第一技师学院数字化校园建设招标文件5.8定稿(2).docx', 'docx', '202605/18/d888b84be03245d4b12448b5f27ea864.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 17:23:42', NULL, '2026-05-18 17:23:42', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('c1c5738c42a34755967824cc53a8d477', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/5a0644ac91b649328f81b5e7661f554f.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:04:51', NULL, '2026-05-14 21:04:51', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('ccfb758b4f2b4c7b9f0b9757e272a91c', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/14/6bd6f93122e44e65a2ce895bd18e41ba.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:08:41', NULL, '2026-05-14 21:08:41', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('ced3d9c7f96e4367ad3a7e848b2b58b3', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-payment/202605/16/166a14791ee045e2b33a69d58efb94ca.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:48', NULL, '2026-05-16 22:50:48', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d06a4823c1a84c2e9af497250c449ea2', NULL, NULL, '1.png', 'png', 'donation-other/202605/19/701f3c7248044020b29fc6802fe1aa87.png', 50295, 'image/png', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:32:48', NULL, '2026-05-19 10:32:48', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d1c8d11b68aa4cbabb22bf6d21ca8af5', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/7fe75c363a2943a6a80540fac5647dd8.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 22:02:22', NULL, '2026-05-14 22:02:22', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d248924acfae4b95ae3f97f10a114119', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'channel/202605/18/7f801fb4595441aca9e53041f1a31576.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:52:03', NULL, '2026-05-18 13:52:03', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d2612854a0e4401c93b6ab1da96c20ed', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-payment/202605/17/1d0d97b7d63842f8862992a8fe2e98ea.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:30', NULL, '2026-05-17 21:43:30', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d43937366b51499ea1573604b5b4e23c', NULL, NULL, '1.jpg', 'jpg', 'protocol/202605/16/909066cb32a6404b8e1ef6651e181606.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:49:49', NULL, '2026-05-16 18:49:49', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d5892f33d0cd415ea0390694a704bfdf', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-payment/202605/16/f312e63feeab4275a938a7e8427f1d9c.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:06:12', NULL, '2026-05-16 20:06:12', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d6994f1da23647d9988a589100639c29', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol-payment/202605/16/5de34b52a8724bd2ba1796aa7d5cf9f1.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:36', NULL, '2026-05-16 20:15:36', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d7349722793b4e259d3702ce8f6448b8', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/17/21eb92fad6614806b0e27fa0a68f019c.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:01:59', NULL, '2026-05-17 21:01:59', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d7ba19cb8c61489c8d9fc2cfef61876e', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol-finance-refund/202605/17/f35c21d9472740309ab32119febfb2f4.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:55:35', NULL, '2026-05-17 15:55:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d935b116fcc6413cb95f0fe4342a1870', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol-finance-refund/202605/17/bfed374154264841ae0cae06f0fd0932.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:56:02', NULL, '2026-05-17 15:56:02', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('d9cb1819442e4831b33542114c3c9578', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/14/e035586be5c74746a3888499f7030033.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:22:12', NULL, '2026-05-14 21:22:12', 0); @@ -134,6 +169,7 @@ INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_na INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e18827fc4b094337bef4c243108aaff2', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol/202605/14/88acc757166e4ce79872c25f306cb035.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:28:08', NULL, '2026-05-14 21:28:08', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e2a417b350fc4d82b5d944e10d86e19d', NULL, NULL, '0eee40147c69c50aa9701cb27fe1b73c.jpeg', 'jpeg', 'protocol/202605/14/6482ba62885b45b28fb4f6f1939f674a.jpeg', 77222, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:29:36', NULL, '2026-05-14 21:29:36', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e2f7be8d6dc44e5a9d48deee7cad604e', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/a81b78ca56bc4273a835fe77e630de5c.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:22:13', NULL, '2026-05-14 21:22:13', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e37b10957d56401db46f8f853a013b97', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'protocol-payment/202605/17/e9e823086c22429cb392478e812fa60c.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:35', NULL, '2026-05-17 21:43:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e416933cf6d144c08e84430623830cee', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/14/005689e5436046968e038973880c8d05.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 22:00:35', NULL, '2026-05-14 22:00:35', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e4e3420cab8f4fb49c933b101f46cd37', NULL, NULL, '1.jpg', 'jpg', 'protocol/202605/16/e9345df5ea2e436a97b237b65d71adb6.jpg', 16907, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:35:17', NULL, '2026-05-16 18:35:17', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e51c592d94bc4022844747a2e09cf1ac', NULL, NULL, '副本天台技师数字化校园平台采购需求V1.0.docx', 'docx', 'protocol-finance-refund/202605/17/9839e4706530433fa0d921d7ddea1bbc.docx', 212013, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 15:58:13', NULL, '2026-05-17 15:58:13', 0); @@ -144,6 +180,8 @@ INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_na INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('ea74df17c28d4164a352500b495a9e73', NULL, NULL, '0aab48e2ff412201e89667ef5a1465b1.jpeg', 'jpeg', 'protocol/202605/17/bbbe8532b47c42b388b8298a9ccc4a88.jpeg', 30578, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 16:10:58', NULL, '2026-05-17 16:10:58', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('f0cfa4f3bfa24c538962d99a9e47269e', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc (1).jpeg', 'jpeg', 'protocol/202605/16/6613f29a297f4184a0213029727715c3.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:20:59', NULL, '2026-05-16 21:20:59', 0); INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('f3f5b49cdda74a47a37f32f4f0717138', NULL, NULL, '0cc02a211bdcaaa15ae4b8b62dabd3dc.jpeg', 'jpeg', 'protocol/202605/14/f04337d738fd4cec97017b7656e1f366.jpeg', 17985, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 21:27:48', NULL, '2026-05-14 21:27:48', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('fa57c04fa24f49a7994fe962304c3edc', NULL, NULL, '贝贝南瓜.jpg', 'jpg', 'channel/202605/18/a8c5d984968a4c8f9c7f2441ed4cccd8.jpg', 382308, 'image/jpeg', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-18 13:46:42', NULL, '2026-05-18 13:46:42', 0); +INSERT INTO `biz_attachment` (`id`, `business_type`, `business_id`, `original_name`, `file_ext`, `file_url`, `file_size`, `file_type`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('fff50de6bac64ac683fc5ec6c4c1783a', NULL, NULL, '2a29963d0f9742eaa309db37c855cafd.docx', 'docx', 'protocol-payment/202605/17/c32740a2cdd4406f8b868d0bf2b618e7.docx', 226358, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:07', NULL, '2026-05-17 21:21:07', 0); COMMIT; -- ---------------------------- @@ -178,6 +216,9 @@ CREATE TABLE `biz_cell_product_price` ( -- Records of biz_cell_product_price -- ---------------------------- BEGIN; +INSERT INTO `biz_cell_product_price` (`id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('03510A92D2F94F71B74258DF8E0F76E9', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', '0B37A553466346AA88C405F663501143', 'A10DAEB8A9F44CABACE5A001C9DFC247', 20000.00, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 12:19:59', 'd3000000000000000000000000000001', '2026-05-18 12:19:59', 0); +INSERT INTO `biz_cell_product_price` (`id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3557DDBD12ED45438F48F0487FA658E6', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', '9B412C797D6848BAAB100A0E9DD46F43', '64584C840E9545F2A6BDA4C8DEE877DF', 230000.00, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 12:19:34', 'd3000000000000000000000000000001', '2026-05-18 12:19:34', 0); +INSERT INTO `biz_cell_product_price` (`id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('40BDCA8A87F54335A24DEEC7D44BC4E4', '5亿CAR-T细胞', 'xmbm00001', 'CAR-T', 'CAR-T细胞', '5*10⁸', '0B37A553466346AA88C405F663501143', '64584C840E9545F2A6BDA4C8DEE877DF', 29880.00, 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-18 12:18:55', 'd3000000000000000000000000000001', '2026-05-18 12:18:55', 0); COMMIT; -- ---------------------------- @@ -205,6 +246,7 @@ CREATE TABLE `biz_cell_product_project_system` ( -- Records of biz_cell_product_project_system -- ---------------------------- BEGIN; +INSERT INTO `biz_cell_product_project_system` (`id`, `system_name`, `system_code`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('31F6B1B3467D44ACAF0B80EDBD69E73A', '优惠套餐1', 'yhtc0001', '1', 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-18 13:00:55', 'd3000000000000000000000000000001', '2026-05-18 13:01:03', 0); COMMIT; -- ---------------------------- @@ -240,6 +282,10 @@ CREATE TABLE `biz_cell_product_project_system_item` ( -- Records of biz_cell_product_project_system_item -- ---------------------------- BEGIN; +INSERT INTO `biz_cell_product_project_system_item` (`id`, `project_system_id`, `source_price_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('341CC19564724B68849407702381A6C4', '31F6B1B3467D44ACAF0B80EDBD69E73A', '3557DDBD12ED45438F48F0487FA658E6', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', '9B412C797D6848BAAB100A0E9DD46F43', '64584C840E9545F2A6BDA4C8DEE877DF', 190000.00, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 13:01:04', 'd3000000000000000000000000000001', '2026-05-18 13:01:04', 0); +INSERT INTO `biz_cell_product_project_system_item` (`id`, `project_system_id`, `source_price_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('779BC61F54F24D18A7A57DCD774F6481', '31F6B1B3467D44ACAF0B80EDBD69E73A', '3557DDBD12ED45438F48F0487FA658E6', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', '9B412C797D6848BAAB100A0E9DD46F43', '64584C840E9545F2A6BDA4C8DEE877DF', 230000.00, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 13:00:56', 'd3000000000000000000000000000001', '2026-05-18 13:01:03', 1); +INSERT INTO `biz_cell_product_project_system_item` (`id`, `project_system_id`, `source_price_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('AC5BC2BCC1324E6587C52FDB316C1D03', '31F6B1B3467D44ACAF0B80EDBD69E73A', '03510A92D2F94F71B74258DF8E0F76E9', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', '0B37A553466346AA88C405F663501143', 'A10DAEB8A9F44CABACE5A001C9DFC247', 30000.00, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 13:01:04', 'd3000000000000000000000000000001', '2026-05-18 13:01:04', 0); +INSERT INTO `biz_cell_product_project_system_item` (`id`, `project_system_id`, `source_price_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `spec_id`, `cell_product_type_id`, `unit_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B956FB6057E340E2BD3193348A6B9B9D', '31F6B1B3467D44ACAF0B80EDBD69E73A', '03510A92D2F94F71B74258DF8E0F76E9', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', '0B37A553466346AA88C405F663501143', 'A10DAEB8A9F44CABACE5A001C9DFC247', 20000.00, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 13:00:56', 'd3000000000000000000000000000001', '2026-05-18 13:01:04', 1); COMMIT; -- ---------------------------- @@ -266,6 +312,12 @@ CREATE TABLE `biz_cell_product_spec` ( -- Records of biz_cell_product_spec -- ---------------------------- BEGIN; +INSERT INTO `biz_cell_product_spec` (`id`, `spec_code`, `spec_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0B37A553466346AA88C405F663501143', '5*10⁸', '5*10⁸', 'zkxw', 0, '5*10⁸', 'd3000000000000000000000000000001', '', '2026-05-18 12:15:15', 'd3000000000000000000000000000001', '2026-05-18 12:15:15', 0); +INSERT INTO `biz_cell_product_spec` (`id`, `spec_code`, `spec_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5D48BA1DB99E4540A44886E1FE3F65CB', '3*10⁸', '3*10⁸', 'zkxw', 0, '3*10⁸', 'd3000000000000000000000000000001', '', '2026-05-18 12:15:03', 'd3000000000000000000000000000001', '2026-05-18 12:15:03', 0); +INSERT INTO `biz_cell_product_spec` (`id`, `spec_code`, `spec_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('778C3BEF1AC04358916BC9229AD3192B', '2*10⁸', '2*10⁸', 'zkxw', 0, '2*10⁸', 'd3000000000000000000000000000001', '', '2026-05-18 12:14:56', 'd3000000000000000000000000000001', '2026-05-18 12:14:56', 0); +INSERT INTO `biz_cell_product_spec` (`id`, `spec_code`, `spec_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9B412C797D6848BAAB100A0E9DD46F43', '50*10⁸', '50*10⁸', 'zkxw', 0, '50*10⁸', 'd3000000000000000000000000000001', '', '2026-05-18 12:15:24', 'd3000000000000000000000000000001', '2026-05-18 12:15:24', 0); +INSERT INTO `biz_cell_product_spec` (`id`, `spec_code`, `spec_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B09CB55CF4C34741808D8F05E2D10A09', '1*10⁸', '1*10⁸', 'zkxw', 0, '1*10⁸', 'd3000000000000000000000000000001', '', '2026-05-18 12:14:46', 'd3000000000000000000000000000001', '2026-05-18 12:14:46', 0); +INSERT INTO `biz_cell_product_spec` (`id`, `spec_code`, `spec_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D333799E31464BFFBF5CF508C896ABAD', '4*10⁸', '4*10⁸', 'zkxw', 0, '4*10⁸', 'd3000000000000000000000000000001', '', '2026-05-18 12:15:09', 'd3000000000000000000000000000001', '2026-05-18 12:15:09', 0); COMMIT; -- ---------------------------- @@ -292,6 +344,12 @@ CREATE TABLE `biz_cell_product_type` ( -- Records of biz_cell_product_type -- ---------------------------- BEGIN; +INSERT INTO `biz_cell_product_type` (`id`, `product_type_code`, `product_type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('013FA73BC8EC4B67BEBB8901F93059D8', 'A', 'A类', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 12:10:00', 'd3000000000000000000000000000001', '2026-05-18 12:11:18', 1); +INSERT INTO `biz_cell_product_type` (`id`, `product_type_code`, `product_type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('12AEC52F12434F84BF84133B0C2E6BD2', 'NK', 'NK细胞', 'zkxw', 0, 'NK细胞', 'd3000000000000000000000000000001', '', '2026-05-18 12:12:15', 'd3000000000000000000000000000001', '2026-05-18 12:12:15', 0); +INSERT INTO `biz_cell_product_type` (`id`, `product_type_code`, `product_type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('64584C840E9545F2A6BDA4C8DEE877DF', 'CAR-T', 'CAR-T细胞', 'zkxw', 0, 'CAR-T细胞', 'd3000000000000000000000000000001', '', '2026-05-18 12:13:20', 'd3000000000000000000000000000001', '2026-05-18 12:13:20', 0); +INSERT INTO `biz_cell_product_type` (`id`, `product_type_code`, `product_type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7A95A37DCCE343D3B5CB37E444EDE840', 'HSC', 'HSC(造血干细胞)', 'zkxw', 0, 'HSC(造血干细胞)', 'd3000000000000000000000000000001', '', '2026-05-18 12:12:34', 'd3000000000000000000000000000001', '2026-05-18 12:12:34', 0); +INSERT INTO `biz_cell_product_type` (`id`, `product_type_code`, `product_type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A10DAEB8A9F44CABACE5A001C9DFC247', 'CIK', 'CIK细胞', 'zkxw', 0, 'CIK细胞', 'd3000000000000000000000000000001', '', '2026-05-18 12:12:52', 'd3000000000000000000000000000001', '2026-05-18 12:12:52', 0); +INSERT INTO `biz_cell_product_type` (`id`, `product_type_code`, `product_type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A41DED3C495A4950B5436D026060DB6A', 'MSC', 'MSC(间充质干细胞)', 'zkxw', 0, 'MSC(间充质干细胞)', 'd3000000000000000000000000000001', '', '2026-05-18 12:11:48', 'd3000000000000000000000000000001', '2026-05-18 12:11:59', 0); COMMIT; -- ---------------------------- @@ -355,6 +413,9 @@ CREATE TABLE `biz_channel` ( -- Records of biz_channel -- ---------------------------- BEGIN; +INSERT INTO `biz_channel` (`id`, `channel_name`, `credit_code`, `channel_type`, `contact_name`, `contact_phone`, `contact_email`, `protocol_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('28E940BB50AA43C4803AAD236DCAD343', '13123', '', '', '', '', '', '', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:51:33', 'd3000000000000000000000000000001', '2026-05-18 15:51:40', 1); +INSERT INTO `biz_channel` (`id`, `channel_name`, `credit_code`, `channel_type`, `contact_name`, `contact_phone`, `contact_email`, `protocol_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4F1E0F7B543C46438F7A65F1EDAFFF07', 'ceshi', '', '', '', '', '', '', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 14:11:44', 'd3000000000000000000000000000001', '2026-05-18 15:13:40', 1); +INSERT INTO `biz_channel` (`id`, `channel_name`, `credit_code`, `channel_type`, `contact_name`, `contact_phone`, `contact_email`, `protocol_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6CBE51D29EB44AAAB6DF1774A76508E7', '安徽每年大健康有限公司', '12312345dsfs7778123', 'hzjg', '李先生', '13877662223', '7889123@qq.com', 'channel/202605/18/fc77e3f527b24d8abf57b4c3900fb531.docx', 'zkxw', 0, '渠道备注', 'd3000000000000000000000000000001', '', '2026-05-18 15:17:19', 'd3000000000000000000000000000001', '2026-05-18 17:47:05', 0); COMMIT; -- ---------------------------- @@ -388,6 +449,15 @@ CREATE TABLE `biz_channel_agreement` ( -- Records of biz_channel_agreement -- ---------------------------- BEGIN; +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('012657B179C44317B181A2A2FDC767BC', '6CBE51D29EB44AAAB6DF1774A76508E7', 'kyxy', '', 'nj', 300000.00, '20260501', '20260508', 'yzf', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:41:24', 'd3000000000000000000000000000001', '2026-05-18 15:45:51', 1); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1EECF3B39CCD4C769B660C5320C077D8', '6CBE51D29EB44AAAB6DF1774A76508E7', 'zsxy', '', '', NULL, '20260518', '', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:33:42', 'd3000000000000000000000000000001', '2026-05-18 15:41:06', 1); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('226795B7DD3D4F6D99FCE1C42E4A1FA2', '6CBE51D29EB44AAAB6DF1774A76508E7', 'kyxy', '', '', NULL, '20260501', '', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:32:12', 'd3000000000000000000000000000001', '2026-05-18 15:32:42', 1); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2EFE8C1531B14805A931C271C7B78C89', '6CBE51D29EB44AAAB6DF1774A76508E7', 'kyxy', '', 'yj', 30000.00, '20260501', '20260528', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:46:03', 'd3000000000000000000000000000001', '2026-05-18 15:48:30', 1); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3427658A9FF8431DB10D1E2FFCB49E54', '6CBE51D29EB44AAAB6DF1774A76508E7', 'kyxy', '', 'nj', 30000.00, '20260501', '20260530', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:48:16', 'd3000000000000000000000000000001', '2026-05-18 23:13:56', 0); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5F052C43ADFA4E6B8CB6CE88584EA192', '6CBE51D29EB44AAAB6DF1774A76508E7', 'zsxy', '', '', NULL, '', '', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:33:36', 'd3000000000000000000000000000001', '2026-05-18 15:41:09', 1); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9C11FC43822E414EAFE422FD15221434', '6CBE51D29EB44AAAB6DF1774A76508E7', 'kyxy', '', '', NULL, '', '', 'dsx', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:13:48', 'd3000000000000000000000000000001', '2026-05-18 23:13:48', 0); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BD9342C2402E4C5AA5F9B078A5D5D77A', '4F1E0F7B543C46438F7A65F1EDAFFF07', 'zsxy', '', '', NULL, '20260505', '', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 14:15:33', 'd3000000000000000000000000000001', '2026-05-18 14:15:33', 0); +INSERT INTO `biz_channel_agreement` (`id`, `channel_id`, `agreement_type`, `business_type`, `settle_mode`, `credit_limit_amount`, `effective_date`, `expire_date`, `agreement_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D1567EBA3C7A405FBB54819D466BFA7C', '6CBE51D29EB44AAAB6DF1774A76508E7', 'lcxy', '', '', NULL, '20260501', '', 'sxz', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:32:55', 'd3000000000000000000000000000001', '2026-05-18 15:37:23', 1); COMMIT; -- ---------------------------- @@ -421,6 +491,20 @@ CREATE TABLE `biz_channel_agreement_product_price` ( -- Records of biz_channel_agreement_product_price -- ---------------------------- BEGIN; +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('039139181C934D589BC4BF970890D6CA', '3427658A9FF8431DB10D1E2FFCB49E54', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', 30000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 16:03:54', 'd3000000000000000000000000000001', '2026-05-18 23:00:35', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('189CA72D30A34FDCBE6489A2A5B7CD88', '3427658A9FF8431DB10D1E2FFCB49E54', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', 20000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:04:08', 'd3000000000000000000000000000001', '2026-05-18 23:09:40', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1D23013CA8BB4AB4897395A6E61A7C86', '3427658A9FF8431DB10D1E2FFCB49E54', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 16:03:44', 'd3000000000000000000000000000001', '2026-05-18 23:03:49', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2A1E56E8A59648C7A2D80D4C27858624', '3427658A9FF8431DB10D1E2FFCB49E54', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:12:17', 'd3000000000000000000000000000001', '2026-05-18 23:12:17', 0); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('59343231C74844C78A231DC7E06535C2', '3427658A9FF8431DB10D1E2FFCB49E54', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 16:03:54', 'd3000000000000000000000000000001', '2026-05-18 23:01:39', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('64D6572D19F94C26834606622B188C45', '1EECF3B39CCD4C769B660C5320C077D8', '5亿CIK细胞', 'xmbm00003', '', 'CIK细胞', '5*10⁸', 30000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:38:01', 'd3000000000000000000000000000001', '2026-05-18 15:38:53', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7C2071B21DE1412AAB97C0378B5A4DB9', '3427658A9FF8431DB10D1E2FFCB49E54', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:04:21', 'd3000000000000000000000000000001', '2026-05-18 23:05:59', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7DFDBEC7DF9F4BE888DED0C0EF4C44A2', '3427658A9FF8431DB10D1E2FFCB49E54', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', 30000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:11:36', 'd3000000000000000000000000000001', '2026-05-18 23:11:45', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('95489FBAA19E4F439383977EA871B231', '1EECF3B39CCD4C769B660C5320C077D8', '50亿CAR-T细胞', 'xmbm00002', '', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:38:01', 'd3000000000000000000000000000001', '2026-05-18 15:38:01', 0); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9A7A724BBE34435B8EC0DBFCCF697F34', '3427658A9FF8431DB10D1E2FFCB49E54', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 16:02:39', 'd3000000000000000000000000000001', '2026-05-18 16:03:30', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9DF81B40D95F4E0A8945ACF92236441C', '3427658A9FF8431DB10D1E2FFCB49E54', '50亿CAR-T细胞', 'xmbm00002', 'CAR-T', 'CAR-T细胞', '50*10⁸', 190000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:11:35', 'd3000000000000000000000000000001', '2026-05-18 23:11:52', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BAB4D1AF7D384DDCABE2468E1BE638D9', '3427658A9FF8431DB10D1E2FFCB49E54', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', 30000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 23:12:21', 'd3000000000000000000000000000001', '2026-05-18 23:12:48', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C4A7E4030E2C407B8BB5B5D23C09549E', '3427658A9FF8431DB10D1E2FFCB49E54', '5亿CIK细胞', 'xmbm00003', 'CIK', 'CIK细胞', '5*10⁸', 30000.00, NULL, 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 16:03:43', 'd3000000000000000000000000000001', '2026-05-18 23:03:52', 1); +INSERT INTO `biz_channel_agreement_product_price` (`id`, `channel_agreement_id`, `project_name`, `project_code`, `cell_type_code`, `cell_type_name`, `spec_text`, `original_price`, `agreement_price`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FB04274F28514A81822954CF9F5872B7', '3427658A9FF8431DB10D1E2FFCB49E54', '5亿CAR-T细胞', 'xmbm00001', 'CAR-T', 'CAR-T细胞', '5*10⁸', 29880.00, NULL, 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-18 16:03:35', 'd3000000000000000000000000000001', '2026-05-18 23:03:58', 1); COMMIT; -- ---------------------------- @@ -453,6 +537,9 @@ CREATE TABLE `biz_channel_invoice` ( -- Records of biz_channel_invoice -- ---------------------------- BEGIN; +INSERT INTO `biz_channel_invoice` (`id`, `channel_id`, `company_name`, `tax_no`, `company_address`, `company_phone`, `bank_name`, `bank_account`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1CAE0E06AAB343CF9934C5E0661B8B35', '6CBE51D29EB44AAAB6DF1774A76508E7', '安徽每年大健康有限公司1', '12313afaf123123', '安徽省合肥市经开区098号', '13899223322', '中国银行', '123455123123', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:17:20', 'd3000000000000000000000000000001', '2026-05-18 15:51:04', 0); +INSERT INTO `biz_channel_invoice` (`id`, `channel_id`, `company_name`, `tax_no`, `company_address`, `company_phone`, `bank_name`, `bank_account`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('494E16F207F84B378D1835CCA7A262D5', '6CBE51D29EB44AAAB6DF1774A76508E7', '安徽每年大健康', '123771283812312', '安徽省合肥市蜀山区望江西路098号', '', '中国银行', '123134536123', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:17:19', 'd3000000000000000000000000000001', '2026-05-18 15:17:19', 0); +INSERT INTO `biz_channel_invoice` (`id`, `channel_id`, `company_name`, `tax_no`, `company_address`, `company_phone`, `bank_name`, `bank_account`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CD9901995B664C29B8F8EE0D5E3A7A97', '28E940BB50AA43C4803AAD236DCAD343', '123', '123', '123123', '123', '123', '123123', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:51:33', 'd3000000000000000000000000000001', '2026-05-18 15:51:33', 0); COMMIT; -- ---------------------------- @@ -482,6 +569,8 @@ CREATE TABLE `biz_channel_mail_address` ( -- Records of biz_channel_mail_address -- ---------------------------- BEGIN; +INSERT INTO `biz_channel_mail_address` (`id`, `channel_id`, `mail_address`, `mail_contact`, `mail_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('12A06086903949668EEADA023E39475D', '6CBE51D29EB44AAAB6DF1774A76508E7', '合肥市蜀山区098号', '李现是', '13766221122', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:17:21', 'd3000000000000000000000000000001', '2026-05-18 15:31:13', 0); +INSERT INTO `biz_channel_mail_address` (`id`, `channel_id`, `mail_address`, `mail_contact`, `mail_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FA0252016DE248EB81039357D1608957', '6CBE51D29EB44AAAB6DF1774A76508E7', '安徽省合肥市蜀山区098号', '王二哥', '13899882211', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 15:17:20', 'd3000000000000000000000000000001', '2026-05-18 15:31:24', 0); COMMIT; -- ---------------------------- @@ -606,6 +695,9 @@ CREATE TABLE `biz_checkup_institution` ( -- Records of biz_checkup_institution -- ---------------------------- BEGIN; +INSERT INTO `biz_checkup_institution` (`id`, `institution_name`, `institution_address`, `contact_name`, `contact_phone`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('015268F968D24B46A4F8AF6A360599CC', '机构名称1', '', '', '', '1', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 12:09:26', 'd3000000000000000000000000000001', '2026-05-18 14:17:58', 1); +INSERT INTO `biz_checkup_institution` (`id`, `institution_name`, `institution_address`, `contact_name`, `contact_phone`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('16C97C8DE589494F9F2BE7AC5482F499', '安徽每年大健康有限公司', '安徽省合肥市蜀山区黄山路98号', '王', '13899002233', '1', 'zkxw', 0, '停用状态', 'd3000000000000000000000000000001', '', '2026-05-18 14:30:32', 'd3000000000000000000000000000001', '2026-05-18 14:30:44', 0); +INSERT INTO `biz_checkup_institution` (`id`, `institution_name`, `institution_address`, `contact_name`, `contact_phone`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('16FAF6C27B1B4366AAE1FA0D21490822', '安徽合众医疗', '安徽省合肥市蜀山区望江西路0123号', '李', '13899002211', '1', 'zkxw', 0, '备注信息', 'd3000000000000000000000000000001', '', '2026-05-18 14:18:55', 'd3000000000000000000000000000001', '2026-05-18 14:29:38', 1); COMMIT; -- ---------------------------- @@ -638,41 +730,12 @@ CREATE TABLE `biz_checkup_institution_invoice` ( -- Records of biz_checkup_institution_invoice -- ---------------------------- BEGIN; -COMMIT; - --- ---------------------------- --- Table structure for biz_checkup_institution_project --- ---------------------------- -DROP TABLE IF EXISTS `biz_checkup_institution_project`; -CREATE TABLE `biz_checkup_institution_project` ( - `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', - `checkup_institution_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '体检机构ID', - `project_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称', - `project_fee` decimal(18,2) DEFAULT NULL COMMENT '项目费用(元)', - `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1' COMMENT '1正常 0停用', - `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`), - KEY `idx_ck_proj` (`checkup_institution_id`,`del_flag`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='体检机构项目及价格'; - --- ---------------------------- --- Records of biz_checkup_institution_project --- ---------------------------- -BEGIN; +INSERT INTO `biz_checkup_institution_invoice` (`id`, `checkup_institution_id`, `company_name`, `tax_no`, `company_address`, `company_phone`, `bank_name`, `bank_account`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A323F817C69F4173A223E1BE7D66E92E', '16C97C8DE589494F9F2BE7AC5482F499', '安徽每年大健康有限公司', '88891293912da123123', '', '', '招商银行', '131238889123', 'zkxw', 0, '', 'd3000000000000000000000000000001', '', '2026-05-18 14:30:32', 'd3000000000000000000000000000001', '2026-05-18 14:30:45', 0); COMMIT; -- ---------------------------- -- Table structure for biz_checkup_institution_package -- ---------------------------- -DROP TABLE IF EXISTS `biz_checkup_institution_package_item`; DROP TABLE IF EXISTS `biz_checkup_institution_package`; CREATE TABLE `biz_checkup_institution_package` ( `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', @@ -698,6 +761,7 @@ CREATE TABLE `biz_checkup_institution_package` ( -- Records of biz_checkup_institution_package -- ---------------------------- BEGIN; +INSERT INTO `biz_checkup_institution_package` (`id`, `checkup_institution_id`, `package_name`, `package_code`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9EE43CF248F04A60BB8661477E000824', '16C97C8DE589494F9F2BE7AC5482F499', '套餐1', 'tc1', '1', 'zkxw', 0, '套餐1备注', 'd3000000000000000000000000000001', '', '2026-05-18 14:59:20', 'd3000000000000000000000000000001', '2026-05-18 15:13:10', 0); COMMIT; -- ---------------------------- @@ -729,6 +793,44 @@ CREATE TABLE `biz_checkup_institution_package_item` ( -- Records of biz_checkup_institution_package_item -- ---------------------------- BEGIN; +INSERT INTO `biz_checkup_institution_package_item` (`id`, `package_id`, `checkup_institution_project_id`, `project_name`, `project_fee`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('20864DCAF2734F75B3801D5CC8FAFDDB', '9EE43CF248F04A60BB8661477E000824', '8CD0F4BF45804547BB398925F9D0C8C8', '项目3', 200.00, 'zkxw', 1, '12', 'd3000000000000000000000000000001', '', '2026-05-18 15:13:10', 'd3000000000000000000000000000001', '2026-05-18 15:13:10', 0); +INSERT INTO `biz_checkup_institution_package_item` (`id`, `package_id`, `checkup_institution_project_id`, `project_name`, `project_fee`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6121F685A7F44727B275B05AEECA86EF', '9EE43CF248F04A60BB8661477E000824', '475501C8BD8D41F7833C7110A255F31F', '项目2', 100.00, 'zkxw', 2, '123', 'd3000000000000000000000000000001', '', '2026-05-18 15:13:10', 'd3000000000000000000000000000001', '2026-05-18 15:13:10', 0); +INSERT INTO `biz_checkup_institution_package_item` (`id`, `package_id`, `checkup_institution_project_id`, `project_name`, `project_fee`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D178317A30F04BA485E5F6E5356E2764', '9EE43CF248F04A60BB8661477E000824', '0FFD70BE148A4769AAEF54F2EE0C5438', '项目1', 50.00, 'zkxw', 3, '123', 'd3000000000000000000000000000001', '', '2026-05-18 15:13:10', 'd3000000000000000000000000000001', '2026-05-18 15:13:10', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_checkup_institution_project +-- ---------------------------- +DROP TABLE IF EXISTS `biz_checkup_institution_project`; +CREATE TABLE `biz_checkup_institution_project` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `checkup_institution_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '体检机构ID', + `project_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称', + `project_fee` decimal(18,2) DEFAULT NULL COMMENT '项目费用(元)', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1' COMMENT '1正常 0停用', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_ck_proj` (`checkup_institution_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='体检机构项目及价格'; + +-- ---------------------------- +-- Records of biz_checkup_institution_project +-- ---------------------------- +BEGIN; +INSERT INTO `biz_checkup_institution_project` (`id`, `checkup_institution_id`, `project_name`, `project_fee`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0093450130EC4F5390CF84EA8951823F', '16FAF6C27B1B4366AAE1FA0D21490822', '123123', NULL, '1', 'zkxw', 0, '123123', 'd3000000000000000000000000000001', '', '2026-05-18 14:22:21', 'd3000000000000000000000000000001', '2026-05-18 14:23:23', 0); +INSERT INTO `biz_checkup_institution_project` (`id`, `checkup_institution_id`, `project_name`, `project_fee`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('09CDBBF971874678B0EB4742D44111BB', '16C97C8DE589494F9F2BE7AC5482F499', '123', 111.00, '1', 'zkxw', 0, '123123', 'd3000000000000000000000000000001', '', '2026-05-18 14:37:06', 'd3000000000000000000000000000001', '2026-05-18 14:37:08', 1); +INSERT INTO `biz_checkup_institution_project` (`id`, `checkup_institution_id`, `project_name`, `project_fee`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0FFD70BE148A4769AAEF54F2EE0C5438', '16C97C8DE589494F9F2BE7AC5482F499', '项目1', 100.00, '1', 'zkxw', 0, '1', 'd3000000000000000000000000000001', '', '2026-05-18 14:58:12', 'd3000000000000000000000000000001', '2026-05-18 14:58:12', 0); +INSERT INTO `biz_checkup_institution_project` (`id`, `checkup_institution_id`, `project_name`, `project_fee`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('475501C8BD8D41F7833C7110A255F31F', '16C97C8DE589494F9F2BE7AC5482F499', '项目2', 200.00, '1', 'zkxw', 0, '2', 'd3000000000000000000000000000001', '', '2026-05-18 14:58:20', 'd3000000000000000000000000000001', '2026-05-18 14:58:20', 0); +INSERT INTO `biz_checkup_institution_project` (`id`, `checkup_institution_id`, `project_name`, `project_fee`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8CD0F4BF45804547BB398925F9D0C8C8', '16C97C8DE589494F9F2BE7AC5482F499', '项目3', 300.00, '1', 'zkxw', 0, '3', 'd3000000000000000000000000000001', '', '2026-05-18 14:58:30', 'd3000000000000000000000000000001', '2026-05-18 14:58:30', 0); +INSERT INTO `biz_checkup_institution_project` (`id`, `checkup_institution_id`, `project_name`, `project_fee`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CDE4AAEA3179454D84EB97301A38403C', '16C97C8DE589494F9F2BE7AC5482F499', '检测1', 200.20, '0', 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-18 14:31:05', 'd3000000000000000000000000000001', '2026-05-18 14:36:56', 1); COMMIT; -- ---------------------------- @@ -866,16 +968,23 @@ CREATE TABLE `biz_collection_protocol` ( -- ---------------------------- BEGIN; INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('00A286E19367459AB2ED7234A435E655', '0E754DAEAE904B4EACD33F08D20BC852', 'ZKZX34000067', 'dsx', 'protocol/202605/16/c93e7c4613524efab78d5f984ae5078c.jpg,protocol/202605/16/b2fb254873d44976bcb395a886aee6d6.jpeg', '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-16 20:06:19', 'd3000000000000000000000000000001', '2026-05-16 21:20:46', 1); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('05F94756C7BD4EF4AA7C4780FBF90316', '15FD650AB86242A3909654A0D802F373', 'ZKZX34000064', 'dsx', 'protocol/202605/17/a9c200ba90354902a0572d22035d66cb.jpeg', '20260517', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '协议备注', 'd3000000000000000000000000000001', '', '2026-05-17 21:21:10', 'd3000000000000000000000000000001', '2026-05-17 21:21:10', 0); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0DC6746855304889AD407948FBAFCF23', NULL, 'ZKZX34000085', 'dsx', NULL, '20260519', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '由科研捐赠单 ZKZX34000085 转入', 'd3000000000000000000000000000001', '', '2026-05-19 11:40:19', 'd3000000000000000000000000000001', '2026-05-19 11:42:31', 0); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0E748087F14C4AA4AB977DE1BBE90367', NULL, 'XC20260519111629EA5724', 'dsx', NULL, '20260519', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '由科研捐赠单 ZKZX34000098 转入', 'd3000000000000000000000000000001', '', '2026-05-19 11:16:29', 'd3000000000000000000000000000001', '2026-05-19 11:36:35', 1); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('147DB9B384E545A29013FC36F690A6C1', NULL, 'XC202605191110482DABD1', 'dsx', NULL, '20260519', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '由科研捐赠单 ZKZX34000098 转入', 'd3000000000000000000000000000001', '', '2026-05-19 11:10:49', 'd3000000000000000000000000000001', '2026-05-19 11:13:40', 1); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('14B784B28B1441C4B4340D269C96C9DF', NULL, 'XC2026051911122845D30C', 'dsx', NULL, '20260519', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '由科研捐赠单 ZKZX34000098 转入', 'd3000000000000000000000000000001', '', '2026-05-19 11:12:28', 'd3000000000000000000000000000001', '2026-05-19 11:13:39', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1EA8A72A285340B8B5ABC1BB468FBF23', '18B7DD7F159845239C94127729641FD6', 'ZKZX34000009', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动化测试-批量运输操作', 'd3000000000000000000000000000001', '', '2026-05-16 21:07:04', 'd3000000000000000000000000000001', '2026-05-16 21:20:39', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('33FCE85242EE4DCCB252B38A18E5C1B9', '088498F6C71B4E8A81AD0504703928E0', 'ZKZX34000079', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动测试-分期+快递运输', 'd3000000000000000000000000000001', '', '2026-05-16 21:11:07', 'd3000000000000000000000000000001', '2026-05-16 21:20:38', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3CD06AB0F31E42BCA23E09588A8B7FF3', NULL, '123', 'dsx', NULL, '20260520', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '123', 'zkxw', 0, '123123', 'd3000000000000000000000000000001', '', '2026-05-14 14:29:16', 'd3000000000000000000000000000001', '2026-05-16 18:49:37', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('485BACE9A21C4D7FA23EE919C15EDDF0', '0E754DAEAE904B4EACD33F08D20BC852', 'ZKZX34000067', 'dsx', 'protocol/202605/16/6613f29a297f4184a0213029727715c3.jpeg,protocol/202605/16/9d3c8588016c401f9f904c58d2461601.jpeg,protocol/202605/16/2a29963d0f9742eaa309db37c855cafd.docx', '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-16 21:21:53', 'd3000000000000000000000000000001', '2026-05-17 14:55:11', 0); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5BFDF94E590E4022BC1F4E84F3430F85', '11D0CA532FCD4A8DB64C5DB6B00CEEB5', 'ZKZX34000074', 'zky', 'protocol/202605/17/17c6f1176d614d869dfc6c3df752e21a.jpg', '20260517', '2026-05-17 22:12:24', '协议生效时间、协议生效描述、协议过期时间、协议过期描述、协议作废时间、协议作废描述、协议转科研时间、协议转科研描述', NULL, NULL, NULL, NULL, '2026-05-19 11:43:25', '已转入科研捐赠 ZKZX34000074', 'd3000000000000000000000000000001', 'zkxw', 0, '协议备注信息', 'd3000000000000000000000000000001', '', '2026-05-17 21:43:37', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7ED7E888C1564FB895CB0A7C112B6139', '0294E041F1FA4654B3615462CDAA7D3F', 'ZKZX34000007', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动测试-趸交+快递运输', 'd3000000000000000000000000000001', '', '2026-05-16 21:11:04', 'd3000000000000000000000000000001', '2026-05-16 21:20:38', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('97D4A2E3735646AABCE66FA5B620949A', '0B6BEC8B05FC413D9925EBDA3230B9FE', 'ZKZX34000043', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动测试-分期+人员携带', 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:20:38', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9A03618CE61A472988EDC57C8D5C6E22', '19F3DE8BF0554C4FA11685F9376D9517', 'ZKZX34000004', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动测试-批量运输操作-3样本批量快递', 'd3000000000000000000000000000001', '', '2026-05-16 21:11:10', 'd3000000000000000000000000000001', '2026-05-16 21:20:37', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B7AD6D4258344F46BA91CFD6A751C0A7', '17EA8A4C8CE942209130E9CFAC9B728F', 'ZKZX34000098', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动化测试-分期+人员携带', 'd3000000000000000000000000000001', '', '2026-05-16 21:07:03', 'd3000000000000000000000000000001', '2026-05-16 21:20:39', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B7B27BF0D76641008571AD4822DF80F1', '0E754DAEAE904B4EACD33F08D20BC852', 'ZKZX34000067', 'dsx', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '测试', 'd3000000000000000000000000000001', '', '2026-05-16 18:42:02', 'd3000000000000000000000000000001', '2026-05-16 18:49:36', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B925F7CEEAD6458D99E9B3974037E980', '2D6D0BAE01E944A88BE8005C4AB2045D', 'ZKZX34000015', 'dsx', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:16:47', 'd3000000000000000000000000000001', '2026-05-16 21:20:40', 1); +INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D6A1714B7FAD4401B943226DA22911AD', NULL, 'XC20260519111032A217D5', 'dsx', NULL, '20260519', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, '由科研捐赠单 ZKZX34000098 转入', 'd3000000000000000000000000000001', '', '2026-05-19 11:10:33', 'd3000000000000000000000000000001', '2026-05-19 11:13:40', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E798F42A67194133B31AA42C4732CE29', '033BCC862DF945CB98321EE3AD3158D5', 'ZKZX34000001', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动测试-趸交+人员携带', 'd3000000000000000000000000000001', '', '2026-05-16 21:11:05', 'd3000000000000000000000000000001', '2026-05-16 21:20:38', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F124840F339F404D9A3592F3637E550C', '15FD650AB86242A3909654A0D802F373', 'ZKZX34000064', 'sxz', NULL, '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'b13c2be24e7111f19f4700163e3bdd9601', 'zkxw', 0, '自动化测试-分期+快递运输', 'd3000000000000000000000000000001', '', '2026-05-16 21:07:01', 'd3000000000000000000000000000001', '2026-05-16 21:20:39', 1); INSERT INTO `biz_collection_protocol` (`id`, `protocol_no_id`, `protocol_no`, `protocol_status`, `protocol_attachments`, `register_date`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_research_time`, `to_research_desc`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FE868FFDAB224609B05E5942CC6EF4E2', '11D0CA532FCD4A8DB64C5DB6B00CEEB5', 'ZKZX34000074', 'dsx', 'protocol/202605/16/60abb7df94784944bb166351aec54396.jpeg,protocol/202605/16/423b5e5596d547e4adba4f87f9df12a4.jpeg,protocol/202605/16/6715cf410e444687a792e6a6cfb9476e.jpg', '20260516', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'd3000000000000000000000000000001', 'zkxw', 0, 'beizhu', 'd3000000000000000000000000000001', '', '2026-05-16 20:15:46', 'd3000000000000000000000000000001', '2026-05-16 21:20:40', 1); @@ -1047,6 +1156,136 @@ BEGIN; INSERT INTO `biz_collection_region` (`id`, `region_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('e1000000000000000000000000000001', '安徽省', 'zkxw', 1, NULL, NULL, '', '2026-05-12 17:28:38', NULL, '2026-05-12 17:28:38', 0); COMMIT; +-- ---------------------------- +-- Table structure for biz_consumable +-- ---------------------------- +DROP TABLE IF EXISTS `biz_consumable`; +CREATE TABLE `biz_consumable` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `consumable_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '耗材编码', + `consumable_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '耗材名称', + `spec_model` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规格型号', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_consumable_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='生产耗材'; + +-- ---------------------------- +-- Records of biz_consumable +-- ---------------------------- +BEGIN; +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('11AFDFEC422045A59F0CBCFFBD5069C0', 'ceshi1', '测试耗材1', '00规格1', '1001', '毫升', '描述1', 'zkxw', 0, '备注1', 'd3000000000000000000000000000001', '', '2026-05-18 16:56:03', 'd3000000000000000000000000000001', '2026-05-18 16:56:18', 1); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_001', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '贴壁细胞常规培养', 'zkxw', 1, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_002', 'HC002', '15mL 离心管', '无菌', '2', '支', '细胞传代离心分装', 'zkxw', 2, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_003', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', '培养基与试剂移液', 'zkxw', 3, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_004', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', '培养基除菌过滤', 'zkxw', 4, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_005', 'HC005', '细胞刮刀', '18cm', '1', '把', '贴壁细胞消化前刮取', 'zkxw', 5, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_006', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', '细胞冻存分装', 'zkxw', 6, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_007', 'HC007', '细胞计数板', '血球计数板', '1', '块', '台盼蓝计数用', 'zkxw', 7, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable` (`id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cons_008', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '操作防护', 'zkxw', 8, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_consumable_pack +-- ---------------------------- +DROP TABLE IF EXISTS `biz_consumable_pack`; +CREATE TABLE `biz_consumable_pack` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `pack_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编号', + `pack_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', + `usage_scene` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '使用场景', + `pack_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型(bzhcb-标准耗材包 zdyhcb-自定义耗材包)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-启用 0-停用)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_cpack_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='耗材包'; + +-- ---------------------------- +-- Records of biz_consumable_pack +-- ---------------------------- +BEGIN; +INSERT INTO `biz_consumable_pack` (`id`, `pack_code`, `pack_name`, `usage_scene`, `pack_type`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FAFBD7B1910145F8AD92926FC6A2BB3C', 'ceshi2', '测试耗材包2', '测试2', 'zdyhcb', '1', 'zkxw', 0, '备注2', 'd3000000000000000000000000000001', '', '2026-05-18 17:18:08', 'd3000000000000000000000000000001', '2026-05-18 17:18:29', 0); +INSERT INTO `biz_consumable_pack` (`id`, `pack_code`, `pack_name`, `usage_scene`, `pack_type`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pack_001', 'HCB001', '细胞传代标准包', '贴壁细胞 T25 传代', 'bzhcb', '1', 'zkxw', 1, '含培养瓶、离心管、移液管等', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack` (`id`, `pack_code`, `pack_name`, `usage_scene`, `pack_type`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pack_002', 'HCB002', '细胞冻存标准包', '液氮冻存分装', 'bzhcb', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack` (`id`, `pack_code`, `pack_name`, `usage_scene`, `pack_type`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pack_003', 'HCB003', '复苏接种自定义包', '复苏后首次接种', 'zdyhcb', '1', 'zkxw', 3, '按项目定制', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack` (`id`, `pack_code`, `pack_name`, `usage_scene`, `pack_type`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pack_004', 'HCB004', '质检取样包(停用示例)', '留样分装', 'zdyhcb', '0', 'zkxw', 4, '测试停用状态', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_consumable_pack_item +-- ---------------------------- +DROP TABLE IF EXISTS `biz_consumable_pack_item`; +CREATE TABLE `biz_consumable_pack_item` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `pack_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '耗材包id', + `consumable_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材编码', + `consumable_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材名称', + `spec_model` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材规格型号', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_cpi_pack` (`pack_id`,`del_flag`), + KEY `idx_cpi_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='耗材包明细'; + +-- ---------------------------- +-- Records of biz_consumable_pack_item +-- ---------------------------- +BEGIN; +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0122F8A4D6BB40A4B3836B5000C9A174', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC005', '细胞刮刀', '18cm', '1', '把', '123', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:08', 'd3000000000000000000000000000001', '2026-05-18 17:18:16', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('15365355495C498594D0DD2AA3A5B534', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC006', '冻存管', '2mL 外旋盖', '2', '支', '12322', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:16', 'd3000000000000000000000000000001', '2026-05-18 17:18:23', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1EF5841F00314CB193C195FE239A1F67', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC004', '0.22μm 针头滤器', '33mm', '3', '个', '123222', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:23', 'd3000000000000000000000000000001', '2026-05-18 17:18:29', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('53E774CAC1C646768A91895A637C3672', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC005', '细胞刮刀', '18cm', '2', '把', '1232', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:23', 'd3000000000000000000000000000001', '2026-05-18 17:18:29', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6DF87A6C3F1B4DD5821CCCBEE27FBB38', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', '123', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:08', 'd3000000000000000000000000000001', '2026-05-18 17:18:16', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7E715697227D436B98BBAB6463EA44E6', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC005', '细胞刮刀', '18cm', '2', '把', '1232', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:16', 'd3000000000000000000000000000001', '2026-05-18 17:18:23', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A09097394F4840E59A52BDF36BF35843', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC006', '冻存管', '2mL 外旋盖', '2', '支', '12322', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:23', 'd3000000000000000000000000000001', '2026-05-18 17:18:29', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DB68718F1A234A3DB58CF596EC612479', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC006', '冻存管', '2mL 外旋盖', '2', '支', '12322', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:29', 'd3000000000000000000000000000001', '2026-05-18 17:18:29', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E4FB9C8D03D2478295A314D2A0DAB331', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', '123', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:08', 'd3000000000000000000000000000001', '2026-05-18 17:18:16', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FAD55981686E404583510629B93DDCF4', 'FAFBD7B1910145F8AD92926FC6A2BB3C', 'HC004', '0.22μm 针头滤器', '33mm', '3', '个', '123222', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-18 17:18:16', 'd3000000000000000000000000000001', '2026-05-18 17:18:23', 1); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_001', 'prod_pack_001', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', NULL, 'zkxw', 1, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_002', 'prod_pack_001', 'HC002', '15mL 离心管', '无菌', '2', '支', NULL, 'zkxw', 2, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_003', 'prod_pack_001', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', NULL, 'zkxw', 3, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_004', 'prod_pack_001', 'HC005', '细胞刮刀', '18cm', '1', '把', NULL, 'zkxw', 4, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_005', 'prod_pack_001', 'HC008', '一次性无菌手套', 'M 码', '1', '双', NULL, 'zkxw', 5, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_006', 'prod_pack_002', 'HC002', '15mL 离心管', '无菌', '2', '支', NULL, 'zkxw', 1, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_007', 'prod_pack_002', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', NULL, 'zkxw', 2, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_008', 'prod_pack_002', 'HC008', '一次性无菌手套', 'M 码', '1', '双', NULL, 'zkxw', 3, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_009', 'prod_pack_003', 'HC001', 'T25 细胞培养瓶', '25cm²', '2', '个', '双瓶接种', 'zkxw', 1, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_010', 'prod_pack_003', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', NULL, 'zkxw', 2, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_011', 'prod_pack_003', 'HC007', '细胞计数板', '血球计数板', '1', '块', NULL, 'zkxw', 3, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_012', 'prod_pack_004', 'HC002', '15mL 离心管', '无菌', '3', '支', NULL, 'zkxw', 1, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_consumable_pack_item` (`id`, `pack_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_cpi_013', 'prod_pack_004', 'HC006', '冻存管', '2mL 外旋盖', '2', '支', '留样管', 'zkxw', 2, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +COMMIT; + -- ---------------------------- -- Table structure for biz_customer -- ---------------------------- @@ -1077,8 +1316,10 @@ CREATE TABLE `biz_customer` ( -- Records of biz_customer -- ---------------------------- BEGIN; +INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0A27212E138F44A3ABFA39601CD2B540', '王艺', '1', '340822198710290219', NULL, '13509802211', NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3C8F020237A74CEDBB450AB1BE49C2DB', '张予香', '1', '340822199011223322', 36, '13988772211', '测试用户,低价值客户', 'zkxw', 1, '备注2', 'd3000000000000000000000000000001', '', '2026-05-14 12:18:51', 'd3000000000000000000000000000001', '2026-05-14 12:18:51', 0); INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('83F6CA99975A4F24BC48A391902B4298', '测试母亲', '1', '340102199001011234', NULL, '13900139000', NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:01', 'd3000000000000000000000000000001', '2026-05-16 21:07:01', 0); +INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A723D717CB5144B6BFC6547C18194022', '王莉丝', '1', '340822198810102010', NULL, '13800992211', NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:17:08', 'd3000000000000000000000000000001', '2026-05-19 11:17:08', 0); INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B2C3D3EA97684DA68FA6C7F7C93F33A2', '欧阳一秀', '1', '3408221988112212', NULL, '13899002122', NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:46', 'd3000000000000000000000000000001', '2026-05-16 20:15:46', 0); INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BFA7FEBE25684B3EAE25299ABF933463', '罗雨', '1', '340922198011121113', 34, '13988772211', '测试用户,高端用户', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-14 12:15:29', 'd3000000000000000000000000000001', '2026-05-14 12:19:00', 0); INSERT INTO `biz_customer` (`id`, `customer_name`, `sex`, `id_card_no`, `age`, `phone_no`, `customer_tags`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CCC406C12B2746C492C424D0381B9203', '123', '2', '123', 123, '123', '123', 'zkxw', 0, '123123', 'd3000000000000000000000000000001', '', '2026-05-13 12:07:29', 'd3000000000000000000000000000001', '2026-05-14 12:06:34', 1); @@ -1248,6 +1489,39 @@ INSERT INTO `biz_leave_request` (`id`, `leave_type`, `start_date`, `end_date`, ` INSERT INTO `biz_leave_request` (`id`, `leave_type`, `start_date`, `end_date`, `days`, `reason`, `wf_instance_id`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FB322C8A7F5D47E79B0C7B60894B0C1A', 'personal', '2026-05-12', '2026-05-21', 1, '测试请假1', '47C3777C39BE4A9FBB8C7B637127887E', 'pending', '', NULL, '测试请假1', 'd3000000000000000000000000000001', '', '2026-05-14 10:58:40', 'd3000000000000000000000000000001', '2026-05-14 11:09:54', 0); COMMIT; +-- ---------------------------- +-- Table structure for biz_output_type +-- ---------------------------- +DROP TABLE IF EXISTS `biz_output_type`; +CREATE TABLE `biz_output_type` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `type_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型编码', + `type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型名称', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_otype_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产出类型'; + +-- ---------------------------- +-- Records of biz_output_type +-- ---------------------------- +BEGIN; +INSERT INTO `biz_output_type` (`id`, `type_code`, `type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('46F227A74E884EEDA914D40BEE62CAAB', 'ceshi1', 'ceshi11', 'zkxw', 0, '111111', 'd3000000000000000000000000000001', '', '2026-05-18 17:22:51', 'd3000000000000000000000000000001', '2026-05-18 17:23:00', 1); +INSERT INTO `biz_output_type` (`id`, `type_code`, `type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_otype_001', 'CCLX001', '活细胞', 'zkxw', 1, '传代或扩增后的细胞悬液', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_output_type` (`id`, `type_code`, `type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_otype_002', 'CCLX002', '冻存细胞', 'zkxw', 2, '液氮冻存管', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_output_type` (`id`, `type_code`, `type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_otype_003', 'CCLX003', '上清液', 'zkxw', 3, '培养上清产物', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_output_type` (`id`, `type_code`, `type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_otype_004', 'CCLX004', '留样', 'zkxw', 4, '质检留样管', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_output_type` (`id`, `type_code`, `type_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_otype_005', 'CCLX005', '废料', 'zkxw', 5, '废弃培养物', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +COMMIT; + -- ---------------------------- -- Table structure for biz_pilot_application -- ---------------------------- @@ -1584,6 +1858,600 @@ CREATE TABLE `biz_pilot_patient` ( BEGIN; COMMIT; +-- ---------------------------- +-- Table structure for biz_process +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process`; +CREATE TABLE `biz_process` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `process_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工序代码', + `category_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工序分类id', + `process_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工序名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述', + `equipment_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '预计使用设备名称', + `estimated_duration` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '预估耗时', + `sop_ids` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关联SOP文档id(逗号分隔)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_process_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺'; + +-- ---------------------------- +-- Records of biz_process +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('837804E8F9904EE9A5A9F0F49CDFE02A', '123', NULL, '123', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:41:08', 'd3000000000000000000000000000001', '2026-05-19 14:41:18', 1); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A2E57B32C01C47808F6302F71F0A0F8C', '11', NULL, '11', NULL, '123', '123', NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:42:52', 'd3000000000000000000000000000001', '2026-05-19 14:48:09', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_001', 'GX001', 'prod_pcat_001', '液氮复苏', '自液氮罐取出冻存管,37℃水浴快速复苏至完全融化', '37℃恒温水浴锅', '15', 'prod_sop_001', 'zkxw', 1, '复苏全程记录水浴温度', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_002', 'GX002', 'prod_pcat_001', '接种培养', '复苏细胞离心洗涤后接种 T25 培养瓶,置培养箱培养', 'II 级生物安全柜、CO₂培养箱', '45', 'prod_sop_001,prod_sop_002', 'zkxw', 2, '接种密度按项目 SOP 执行', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_003', 'GX003', 'prod_pcat_001', '复苏后观察', '接种后 4~6 h 显微镜观察贴壁与形态', '倒置相差显微镜', '10', 'prod_sop_002', 'zkxw', 3, '异常形态需拍照留档', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_004', 'GX004', 'prod_pcat_002', '贴壁传代', '培养瓶贴壁汇合后胰酶消化、终止并重新接种', 'II 级生物安全柜', '60', 'prod_sop_003', 'zkxw', 4, '传代比例 1:3~1:6', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_005', 'GX005', 'prod_pcat_002', '消化终止与混匀', '胰酶作用达标后加入血清培养基终止,吹打混匀', 'II 级生物安全柜', '20', 'prod_sop_003', 'zkxw', 5, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_006', 'GX006', 'prod_pcat_002', '传代计数', '台盼蓝染色后计数,调整接种密度', '全自动细胞计数仪', '15', 'prod_sop_003', 'zkxw', 6, '活力低于 90% 需评估是否继续', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_007', 'GX007', 'prod_pcat_003', '冻存液配制与分装', '按 90% 培养基 + 10% DMSO 配制冻存液,分装至冻存管', 'II 级生物安全柜', '30', 'prod_sop_004', 'zkxw', 7, '冻存液现配现用', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_008', 'GX008', 'prod_pcat_003', '程序降温入库', '程序降温仪降温后转入液氮罐长期保存', '程序降温仪、液氮罐', '120', 'prod_sop_004', 'zkxw', 8, '记录液氮罐位置与冻存批次', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_009', 'GX009', 'prod_pcat_004', '上清收获', '培养上清离心澄清后收集产物上清', '台式高速离心机', '40', 'prod_sop_005', 'zkxw', 9, '收获前确认无污染', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_010', 'GX010', 'prod_pcat_004', '贴壁细胞收集', '消化收集细胞沉淀,用于制剂或冻存', '台式高速离心机', '35', 'prod_sop_005', 'zkxw', 10, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_011', 'GX011', 'prod_pcat_005', '留样分装', '按规程量分装留样管,贴标签后入冰箱', 'II 级生物安全柜', '20', 'prod_sop_006', 'zkxw', 11, '留样量满足复检需求', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process` (`id`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_proc_012', 'GX012', 'prod_pcat_005', '送检取样', '取样管封装后填写送检单,移交质检', '-', '15', 'prod_sop_006', 'zkxw', 12, '冷链运输需记录起止时间', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_category +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_category`; +CREATE TABLE `biz_process_category` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `category_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类编码', + `category_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_pcat_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工序分类'; + +-- ---------------------------- +-- Records of biz_process_category +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_category` (`id`, `category_code`, `category_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2A0B18675AD640CF849BD919CA2E4368', 'ceshi1', '测试分类1', 'zkxw', 0, '备注1', 'd3000000000000000000000000000001', '', '2026-05-18 17:22:30', 'd3000000000000000000000000000001', '2026-05-18 17:23:03', 1); +INSERT INTO `biz_process_category` (`id`, `category_code`, `category_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pcat_001', 'GXFL001', '细胞复苏', 'zkxw', 1, '从液氮取出至接种前', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_process_category` (`id`, `category_code`, `category_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pcat_002', 'GXFL002', '细胞传代', 'zkxw', 2, '贴壁细胞常规扩增', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_process_category` (`id`, `category_code`, `category_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pcat_003', 'GXFL003', '细胞冻存', 'zkxw', 3, '液氮冻存入库', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_process_category` (`id`, `category_code`, `category_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pcat_004', 'GXFL004', '收获与制剂', 'zkxw', 4, '上清收获或细胞收集', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_process_category` (`id`, `category_code`, `category_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pcat_005', 'GXFL005', '质检取样', 'zkxw', 5, '留样与送检取样', NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_consumable +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_consumable`; +CREATE TABLE `biz_process_consumable` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `process_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工艺id', + `consumable_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材编码', + `consumable_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材名称', + `spec_model` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材规格型号', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `is_required` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '是否必需(1-必须 0-可选)', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_pc_process` (`process_id`,`del_flag`), + KEY `idx_pc_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺耗材'; + +-- ---------------------------- +-- Records of biz_process_consumable +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_001', 'prod_proc_001', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_002', 'prod_proc_001', 'HC006', '冻存管', '2mL 外旋盖', '1', '支', '1', '复苏用原管', 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_003', 'prod_proc_001', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 3, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_004', 'prod_proc_002', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_005', 'prod_proc_002', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_006', 'prod_proc_002', 'HC003', '10mL 移液管', '无菌独立包装', '2', '支', '1', NULL, 'zkxw', 3, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_007', 'prod_proc_002', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', '0', '培养基过滤可选', 'zkxw', 4, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_008', 'prod_proc_002', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 5, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_009', 'prod_proc_003', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '1', '观察对象', 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_010', 'prod_proc_004', 'HC001', 'T25 细胞培养瓶', '25cm²', '2', '个', '1', '新旧各一瓶', 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_011', 'prod_proc_004', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_012', 'prod_proc_004', 'HC003', '10mL 移液管', '无菌独立包装', '2', '支', '1', NULL, 'zkxw', 3, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_013', 'prod_proc_004', 'HC005', '细胞刮刀', '18cm', '1', '把', '0', '难消化时使用', 'zkxw', 4, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_014', 'prod_proc_004', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 5, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_015', 'prod_proc_005', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_016', 'prod_proc_005', 'HC002', '15mL 离心管', '无菌', '1', '支', '1', NULL, 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_017', 'prod_proc_006', 'HC007', '细胞计数板', '血球计数板', '1', '块', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_018', 'prod_proc_006', 'HC002', '15mL 离心管', '无菌', '1', '支', '1', '样品管', 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_019', 'prod_proc_007', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_020', 'prod_proc_007', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', '1', '每管 1×10⁶ cells', 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_021', 'prod_proc_007', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', '1', NULL, 'zkxw', 3, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_022', 'prod_proc_007', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 4, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_023', 'prod_proc_008', 'HC006', '冻存管', '2mL 外旋盖', '6', '支', '1', '降温载体', 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_024', 'prod_proc_009', 'HC002', '15mL 离心管', '无菌', '4', '支', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_025', 'prod_proc_009', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', '1', '上清除菌', 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_026', 'prod_proc_010', 'HC002', '15mL 离心管', '无菌', '3', '支', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_027', 'prod_proc_010', 'HC005', '细胞刮刀', '18cm', '1', '把', '0', NULL, 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_028', 'prod_proc_011', 'HC002', '15mL 离心管', '无菌', '3', '支', '1', NULL, 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_029', 'prod_proc_011', 'HC006', '冻存管', '2mL 外旋盖', '2', '支', '1', '留样管', 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_030', 'prod_proc_011', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 3, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_031', 'prod_proc_012', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', '送检管', 'zkxw', 1, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_consumable` (`id`, `process_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pc_032', 'prod_proc_012', 'HC006', '冻存管', '2mL 外旋盖', '1', '支', '1', NULL, 'zkxw', 2, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_data_collection +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_data_collection`; +CREATE TABLE `biz_process_data_collection` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `process_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工艺id', + `collection_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '采集项名称', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_pdc_process` (`process_id`,`del_flag`), + KEY `idx_pdc_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺数据采集项'; + +-- ---------------------------- +-- Records of biz_process_data_collection +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_001', 'prod_proc_001', '水浴温度', '℃', 'zkxw', 1, '37±0.5', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_002', 'prod_proc_001', '复苏耗时', 'min', 'zkxw', 2, '至完全融化', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_003', 'prod_proc_002', '接种密度', 'cells/mL', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_004', 'prod_proc_002', '培养体积', 'mL', 'zkxw', 2, 'T25 推荐 5~7', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_005', 'prod_proc_003', '贴壁率', '%', 'zkxw', 1, '4~6 h 观察', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_006', 'prod_proc_003', '细胞形态评分', '分', 'zkxw', 2, '1~5 分', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_007', 'prod_proc_004', '消化时间', 'min', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_008', 'prod_proc_004', '传代比例', '', 'zkxw', 2, '如 1:4', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_009', 'prod_proc_005', '终止后 pH 目测', '', 'zkxw', 1, '培养基变黄程度', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_010', 'prod_proc_006', '细胞活力', '%', 'zkxw', 1, '台盼蓝排斥', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_011', 'prod_proc_006', '活细胞浓度', 'cells/mL', 'zkxw', 2, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_012', 'prod_proc_007', '冻存密度', 'cells/mL', 'zkxw', 1, '通常 1~5×10⁶', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_013', 'prod_proc_007', 'DMSO 终浓度', '%', 'zkxw', 2, '目标 10%', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_014', 'prod_proc_008', '降温程序编号', '', 'zkxw', 1, '程序降温仪设定', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_015', 'prod_proc_008', '液氮罐位', '', 'zkxw', 2, '区-架-层', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_016', 'prod_proc_009', '离心转速', 'rpm', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_017', 'prod_proc_009', '上清收获体积', 'mL', 'zkxw', 2, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_018', 'prod_proc_010', '细胞湿重', 'g', 'zkxw', 1, '可选', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_019', 'prod_proc_011', '留样体积', 'mL', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_020', 'prod_proc_011', '留样管数', '支', 'zkxw', 2, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_021', 'prod_proc_012', '送检样品体积', 'mL', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_data_collection` (`id`, `process_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pdc_022', 'prod_proc_012', '送检单号', '', 'zkxw', 2, '与 LIMS 对应', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_output +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_output`; +CREATE TABLE `biz_process_output` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `process_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工艺id', + `output_type_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产出类型id', + `output_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产出物名称', + `output_barcode` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产出物条码', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_po_process` (`process_id`,`del_flag`), + KEY `idx_po_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺产出物'; + +-- ---------------------------- +-- Records of biz_process_output +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_001', 'prod_proc_001', 'prod_otype_001', '复苏细胞悬液', 'OUT-GX001-001', 'zkxw', 1, '转入接种步骤', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_002', 'prod_proc_002', 'prod_otype_001', '接种后培养细胞', 'OUT-GX002-001', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_003', 'prod_proc_003', 'prod_otype_004', '形态观察记录', 'OUT-GX003-001', 'zkxw', 1, '纸质/电子记录', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_004', 'prod_proc_004', 'prod_otype_001', '传代后细胞悬液', 'OUT-GX004-001', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_005', 'prod_proc_005', 'prod_otype_001', '终止消化细胞悬液', 'OUT-GX005-001', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_006', 'prod_proc_006', 'prod_otype_001', '计数后细胞悬液', 'OUT-GX006-001', 'zkxw', 1, '密度已调整', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_007', 'prod_proc_007', 'prod_otype_002', '分装冻存细胞', 'OUT-GX007-001', 'zkxw', 1, '6 支/批次', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_008', 'prod_proc_008', 'prod_otype_002', '液氮冻存细胞', 'OUT-GX008-001', 'zkxw', 1, '罐位 A-03-12', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_009', 'prod_proc_009', 'prod_otype_003', '澄清培养上清', 'OUT-GX009-001', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_010', 'prod_proc_010', 'prod_otype_001', '收获细胞沉淀', 'OUT-GX010-001', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_011', 'prod_proc_010', 'prod_otype_005', '消化废液', 'OUT-GX010-W01', 'zkxw', 2, '按医疗废物处理', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_012', 'prod_proc_011', 'prod_otype_004', '留样管', 'OUT-GX011-001', 'zkxw', 1, '-80℃ 保存', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_output` (`id`, `process_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_po_013', 'prod_proc_012', 'prod_otype_004', '送检样品管', 'OUT-GX012-001', 'zkxw', 1, '附送检单', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_reagent +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_reagent`; +CREATE TABLE `biz_process_reagent` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `process_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工艺id', + `reagent_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '试剂编码', + `reagent_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '试剂名称', + `spec` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规格', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `is_key_material` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '是否关键物料(0-否 1-是)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_pr_process` (`process_id`,`del_flag`), + KEY `idx_pr_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺试剂'; + +-- ---------------------------- +-- Records of biz_process_reagent +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_001', 'prod_proc_001', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '0', 'zkxw', 1, '复苏后洗涤', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_002', 'prod_proc_001', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 2, '重悬接种用', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_003', 'prod_proc_001', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_004', 'prod_proc_002', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_005', 'prod_proc_002', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_006', 'prod_proc_002', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '0', 'zkxw', 3, '接种前洗涤', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_007', 'prod_proc_003', 'SJ004', 'PBS 缓冲液', '500mL', '2', 'mL', '0', 'zkxw', 1, '必要时润洗观察', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_008', 'prod_proc_004', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '2', 'mL', '1', 'zkxw', 1, '消化贴壁细胞', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_009', 'prod_proc_004', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 2, '终止与重悬', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_010', 'prod_proc_004', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_011', 'prod_proc_005', 'SJ001', 'DMEM 高糖培养基', '500mL', '8', 'mL', '1', 'zkxw', 1, '含血清终止液', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_012', 'prod_proc_005', 'SJ002', '胎牛血清 FBS', '500mL', '2', 'mL', '0', 'zkxw', 2, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_013', 'prod_proc_006', 'SJ005', '台盼蓝染液', '10mL', '0.1', 'mL', '1', 'zkxw', 1, '死活染色', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_014', 'prod_proc_006', 'SJ004', 'PBS 缓冲液', '500mL', '1', 'mL', '0', 'zkxw', 2, '稀释样品', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_015', 'prod_proc_007', 'SJ006', 'DMSO 细胞冻存液', '100mL', '0.5', 'mL', '1', 'zkxw', 1, '冻存保护剂', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_016', 'prod_proc_007', 'SJ001', 'DMEM 高糖培养基', '500mL', '4.5', 'mL', '1', 'zkxw', 2, '冻存液基质', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_017', 'prod_proc_007', 'SJ002', '胎牛血清 FBS', '500mL', '0.5', 'mL', '0', 'zkxw', 3, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_018', 'prod_proc_008', 'SJ004', 'PBS 缓冲液', '500mL', '1', 'mL', '0', 'zkxw', 1, '贴标前润洗管壁', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_019', 'prod_proc_009', 'SJ004', 'PBS 缓冲液', '500mL', '3', 'mL', '0', 'zkxw', 1, '澄清洗涤', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_020', 'prod_proc_010', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '3', 'mL', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_021', 'prod_proc_010', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 2, '终止消化', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_022', 'prod_proc_011', 'SJ004', 'PBS 缓冲液', '500mL', '1', 'mL', '0', 'zkxw', 1, NULL, NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_process_reagent` (`id`, `process_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_pr_023', 'prod_proc_012', 'SJ004', 'PBS 缓冲液', '500mL', '0.5', 'mL', '0', 'zkxw', 1, '稀释送检样', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_route +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_route`; +CREATE TABLE `biz_process_route` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `route_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '路线编码', + `route_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '路线名称', + `product_type_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品类型id', + `version` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '版本号', + `is_current` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '是否当前版本(0-否 1-是)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_route_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线'; + +-- ---------------------------- +-- Records of biz_process_route +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_route` (`id`, `route_code`, `route_name`, `product_type_id`, `version`, `is_current`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2701DE68DD0F4770A581EE97F5470E7C', 'lxbm1', '路线名称1', '64584C840E9545F2A6BDA4C8DEE877DF', 'V2.0', '0', 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-19 13:23:41', 'd3000000000000000000000000000001', '2026-05-19 13:31:54', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_route_step +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_route_step`; +CREATE TABLE `biz_process_route_step` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `route_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工艺路线id', + `process_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工序id', + `step_order` int(11) DEFAULT NULL COMMENT '步骤顺序', + `process_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工序代码', + `category_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工序分类id', + `process_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工序名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述', + `equipment_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '预计使用设备名称', + `estimated_duration` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '预估耗时', + `sop_ids` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关联SOP文档id(逗号分隔)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prs_route` (`route_id`,`del_flag`), + KEY `idx_prs_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线步骤'; + +-- ---------------------------- +-- Records of biz_process_route_step +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('14736E83807F4F488C7EB5BE20BD2A39', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_004', 7, 'GX004', 'prod_pcat_002', '贴壁传代', '培养瓶贴壁汇合后胰酶消化、终止并重新接种', 'II 级生物安全柜', '60', 'prod_sop_003', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4740629E16C34B43B8D7B9C5D07D30EB', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_004', 3, 'GX004', 'prod_pcat_002', '贴壁传代', '培养瓶贴壁汇合后胰酶消化、终止并重新接种', 'II 级生物安全柜', '60', 'prod_sop_003', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('54A05AC7C28742ED9DCA11C11DA45058', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_005', 10, 'GX005', 'prod_pcat_002', '消化终止与混匀', '胰酶作用达标后加入血清培养基终止,吹打混匀', 'II 级生物安全柜', '20', 'prod_sop_003', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('66315C5F77604D4A879B4A731FFBF992', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_006', 9, 'GX006', 'prod_pcat_002', '传代计数', '台盼蓝染色后计数,调整接种密度', '全自动细胞计数仪', '15', 'prod_sop_003', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7642FDAE27504D6AA2E5DE874B0FA1DA', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_001', 2, 'GX001', 'prod_pcat_001', '液氮复苏', '自液氮罐取出冻存管,37℃水浴快速复苏至完全融化', '37℃恒温水浴锅', '15', 'prod_sop_001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8B126516153E41D19BB0C0F2AA701751', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_006', 1, 'GX006', 'prod_pcat_002', '传代计数1', '台盼蓝染色后计数,调整接种密度1', '全自动细胞计数仪1', '16', 'prod_sop_003', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:35:43', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('AF4996A0DECC40F2AA8E937F313E78EC', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_002', 4, 'GX002', 'prod_pcat_001', '接种培养', '复苏细胞离心洗涤后接种 T25 培养瓶,置培养箱培养', 'II 级生物安全柜、CO₂培养箱', '45', 'prod_sop_001,prod_sop_002', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B087B30CEFF6452B93B8AE5988A6139D', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_001', 3, 'GX001', 'prod_pcat_001', '液氮复苏', '自液氮罐取出冻存管,37℃水浴快速复苏至完全融化', '37℃恒温水浴锅', '15', 'prod_sop_001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B2A6900C1094488BBE6B80A9804A0D62', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_003', 6, 'GX003', 'prod_pcat_001', '复苏后观察(复制)', '接种后 4~6 h 显微镜观察贴壁与形态', '倒置相差显微镜', '10', 'prod_sop_002', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:58', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B48978E2D9404268B334BA019828C9C2', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_003', 8, 'GX003', 'prod_pcat_001', '复苏后观察(复制)', '接种后 4~6 h 显微镜观察贴壁与形态', '倒置相差显微镜', '10', 'prod_sop_002', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:53', 'd3000000000000000000000000000001', '2026-05-19 14:27:03', 1); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DB85778C084748FA891BD4A92168BACD', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_004', 8, 'GX004', 'prod_pcat_002', '贴壁传代(复制)', '培养瓶贴壁汇合后胰酶消化、终止并重新接种', 'II 级生物安全柜', '60', 'prod_sop_003', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +INSERT INTO `biz_process_route_step` (`id`, `route_id`, `process_id`, `step_order`, `process_code`, `category_id`, `process_name`, `description`, `equipment_name`, `estimated_duration`, `sop_ids`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F3EF81E614724B469146E4F4CEA42D42', '2701DE68DD0F4770A581EE97F5470E7C', 'prod_proc_003', 5, 'GX003', 'prod_pcat_001', '复苏后观察', '接种后 4~6 h 显微镜观察贴壁与形态', '倒置相差显微镜', '10', 'prod_sop_002', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:20', 'd3000000000000000000000000000001', '2026-05-19 14:32:25', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_route_step_consumable +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_route_step_consumable`; +CREATE TABLE `biz_process_route_step_consumable` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `step_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '步骤id', + `consumable_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材编码', + `consumable_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材名称', + `spec_model` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '耗材规格型号', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `is_required` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '是否必需(1-必须 0-可选)', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prsc_step` (`step_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线步骤耗材'; + +-- ---------------------------- +-- Records of biz_process_route_step_consumable +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0003B833D063451081999169BA8096A5', 'DB85778C084748FA891BD4A92168BACD', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('04A303D56763417393B8CC4859226FEF', '66315C5F77604D4A879B4A731FFBF992', 'HC002', '15mL 离心管', '无菌', '1', '支', '1', '样品管', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0B12C9326C2F4280BACFC4753379E188', 'B48978E2D9404268B334BA019828C9C2', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '1', '观察对象', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:53', 'd3000000000000000000000000000001', '2026-05-19 14:27:03', 1); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0DE94DC51B204BB399DB4175F595C65E', 'DB85778C084748FA891BD4A92168BACD', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0FD221BD4A154613B586C2A31D76D6E2', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('146A3987D2C84287B781AEE880DC0652', 'AF4996A0DECC40F2AA8E937F313E78EC', 'HC003', '10mL 移液管', '无菌独立包装', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1984E6669215456AB137F1A5DCC7792B', '4740629E16C34B43B8D7B9C5D07D30EB', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1FCFB535977B4CF7BD1FBA5DB2AAB2DA', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('25D33138DC42461EA783FC25D4EAE05B', 'DB85778C084748FA891BD4A92168BACD', 'HC005', '细胞刮刀', '18cm', '1', '把', '0', '难消化时使用', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('405F99ADCBD144ADA43469E97507C32C', '54A05AC7C28742ED9DCA11C11DA45058', 'HC003', '10mL 移液管', '无菌独立包装', '1', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:27:14', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('59353922EC36499A9E669184233B3B79', '8B126516153E41D19BB0C0F2AA701751', 'HC007', '细胞计数板', '血球计数板', '1', '块', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:36:04', 1); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('71CF17FD15E1495AA62AFC994BF6F852', '4740629E16C34B43B8D7B9C5D07D30EB', 'HC003', '10mL 移液管', '无菌独立包装', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('723740B0D88940A08E8DF474E3CF46ED', '8B126516153E41D19BB0C0F2AA701751', 'HC002', '15mL 离心管', '无菌', '1', '支', '1', '样品管', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:36:04', 1); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('73635896832D45A5A16B712DF547A9C2', '14736E83807F4F488C7EB5BE20BD2A39', 'HC001', 'T25 细胞培养瓶', '25cm²', '2', '个', '1', '新旧各一瓶', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('73DB0DCFC3134C68BE57B06CDDA00B77', '4740629E16C34B43B8D7B9C5D07D30EB', 'HC001', 'T25 细胞培养瓶', '25cm²', '2', '个', '1', '新旧各一瓶', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('745693682FAA4C4D8FDE46E8DBFAC854', 'B087B30CEFF6452B93B8AE5988A6139D', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7F19E4D6BF00433CAF77A4AD02D99FFB', '14736E83807F4F488C7EB5BE20BD2A39', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('86CF3EE5B05645BEACE0BB6D3905FA06', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'HC006', '冻存管', '2mL 外旋盖', '1', '支', '1', '复苏用原管', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('87A4BD7A2DD942FA9FE8E1C91172EB3C', '14736E83807F4F488C7EB5BE20BD2A39', 'HC005', '细胞刮刀', '18cm', '1', '把', '0', '难消化时使用', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8A0EB958BA0A4A7390FF4DE35CADCFA9', '4740629E16C34B43B8D7B9C5D07D30EB', 'HC005', '细胞刮刀', '18cm', '1', '把', '0', '难消化时使用', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8EC9333A9B0844A2B112E3E20F93A9B5', 'AF4996A0DECC40F2AA8E937F313E78EC', 'HC004', '0.22μm 针头滤器', '33mm', '1', '个', '0', '培养基过滤可选', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('936F4CCA77D24DAABC13C4CD859B11B8', '8B126516153E41D19BB0C0F2AA701751', 'HC002', '15mL 离心管', '无菌', '1', '支', '1', '样品管', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:36:04', 'd3000000000000000000000000000001', '2026-05-19 14:36:04', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('97DC2B323CAD4BA9BA062218C1EFE20E', 'AF4996A0DECC40F2AA8E937F313E78EC', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('AA19B9B49D904446BCF7DB8ACCDFCED4', 'B2A6900C1094488BBE6B80A9804A0D62', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '1', '观察对象', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:58', 'd3000000000000000000000000000001', '2026-05-19 14:26:58', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B44354454E234C23AA64EC14AE5F6E2A', 'AF4996A0DECC40F2AA8E937F313E78EC', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C107603E14464DBDACC00084172FBCD1', 'F3EF81E614724B469146E4F4CEA42D42', 'HC001', 'T25 细胞培养瓶', '25cm²', '1', '个', '1', '观察对象', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:20', 'd3000000000000000000000000000001', '2026-05-19 14:08:20', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C3F88678EA8A4A6BB24F57903ED66121', '14736E83807F4F488C7EB5BE20BD2A39', 'HC003', '10mL 移液管', '无菌独立包装', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CABECFB487D14B79876FB4F042D38852', '4740629E16C34B43B8D7B9C5D07D30EB', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DBA4C89176324456B16BA52D3E5B8F2C', 'B087B30CEFF6452B93B8AE5988A6139D', 'HC002', '15mL 离心管', '无菌', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DE9DC22C460541B3B24E799C02D5812C', 'AF4996A0DECC40F2AA8E937F313E78EC', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E9B7100A4BFB4A53A65A796FEC331F1C', 'DB85778C084748FA891BD4A92168BACD', 'HC003', '10mL 移液管', '无菌独立包装', '2', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EBBE54320EDD47FC800654BB31CD76B8', '54A05AC7C28742ED9DCA11C11DA45058', 'HC002', '15mL 离心管', '无菌', '1', '支', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:27:14', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EC2029A6F3984BF18E4A3A1BC22FBF6B', 'B087B30CEFF6452B93B8AE5988A6139D', 'HC006', '冻存管', '2mL 外旋盖', '1', '支', '1', '复苏用原管', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EFE26CE3D2484F4BB7F226947B25E008', 'DB85778C084748FA891BD4A92168BACD', 'HC001', 'T25 细胞培养瓶', '25cm²', '2', '个', '1', '新旧各一瓶', 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F02A084444014D7F85B8394D607A1FC5', '66315C5F77604D4A879B4A731FFBF992', 'HC007', '细胞计数板', '血球计数板', '1', '块', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +INSERT INTO `biz_process_route_step_consumable` (`id`, `step_id`, `consumable_code`, `consumable_name`, `spec_model`, `standard_usage`, `unit`, `is_required`, `remark`, `tenant_no`, `order_num`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F1BC48F07CCF4ACC91C614E1AFBFF4FD', '14736E83807F4F488C7EB5BE20BD2A39', 'HC008', '一次性无菌手套', 'M 码', '1', '双', '1', NULL, 'zkxw', 0, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_route_step_data_collection +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_route_step_data_collection`; +CREATE TABLE `biz_process_route_step_data_collection` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `step_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '步骤id', + `collection_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '采集项名称', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prsdc_step` (`step_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线步骤数据采集项'; + +-- ---------------------------- +-- Records of biz_process_route_step_data_collection +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('01142422EB774DB197F6BF5A506EF6C9', 'B2A6900C1094488BBE6B80A9804A0D62', '细胞形态评分', '分', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:58', 'd3000000000000000000000000000001', '2026-05-19 14:26:58', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1207202645B242FEAAD770F1B57C4787', '14736E83807F4F488C7EB5BE20BD2A39', '消化时间', 'min', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('18A12DF64D114A68882CD24554692632', '8B126516153E41D19BB0C0F2AA701751', '活细胞浓度', 'cells/mL', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:35:54', 1); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('391FDF5AEF5644A29DB106082BE9C0FB', 'DB85778C084748FA891BD4A92168BACD', '消化时间', 'min', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3AA4FA7B5AAB4AB296B902C46D6C8D0D', '7642FDAE27504D6AA2E5DE874B0FA1DA', '水浴温度', '℃', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4171315712DC41E59B1FC42A727266A7', '66315C5F77604D4A879B4A731FFBF992', '活细胞浓度', 'cells/mL', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('435E09E1DAEE4C8CB47D033946638CDE', '4740629E16C34B43B8D7B9C5D07D30EB', '消化时间', 'min', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4A8395C0FFED4EB5A454EE8E074FA60D', 'F3EF81E614724B469146E4F4CEA42D42', '贴壁率', '%', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:20', 'd3000000000000000000000000000001', '2026-05-19 14:08:20', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4F921FF6E4D4437D9D360441B916619B', 'B2A6900C1094488BBE6B80A9804A0D62', '贴壁率', '%', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:58', 'd3000000000000000000000000000001', '2026-05-19 14:26:58', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4FCAD432397949FB93596FE859AB7BA5', 'B087B30CEFF6452B93B8AE5988A6139D', '复苏耗时', 'min', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('561963DE6F92443A9190C25D3345B1CE', 'B48978E2D9404268B334BA019828C9C2', '贴壁率', '%', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:53', 'd3000000000000000000000000000001', '2026-05-19 14:27:03', 1); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('63901C9A94794675A6EEE61565A74FF8', 'AF4996A0DECC40F2AA8E937F313E78EC', '接种密度', 'cells/mL', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('67BDEF61AB0D4A1F9C1264287A7C42EE', '66315C5F77604D4A879B4A731FFBF992', '细胞活力', '%', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6847E6E9C0F845C6A04599A3DCEA56FE', '8B126516153E41D19BB0C0F2AA701751', '活细胞浓度', 'cells/mL', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:35:54', 'd3000000000000000000000000000001', '2026-05-19 14:35:54', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7E205F39417047E986A457BE98D24F82', '7642FDAE27504D6AA2E5DE874B0FA1DA', '复苏耗时', 'min', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8AE2E22530D34C029E4AA81C87D70936', '14736E83807F4F488C7EB5BE20BD2A39', '传代比例', NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('95A210959C6643A090E47DA6996A551D', 'DB85778C084748FA891BD4A92168BACD', '传代比例', NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('95A6CD9B0A6D4703BA97D59643958F2D', '8B126516153E41D19BB0C0F2AA701751', '细胞活力', '%', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:35:54', 1); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9A13ED4EFC7D45B0862548AC48B8292C', 'B48978E2D9404268B334BA019828C9C2', '细胞形态评分', '分', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:53', 'd3000000000000000000000000000001', '2026-05-19 14:27:03', 1); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9D071C94054A440092FBAD52CD1BBD1C', '4740629E16C34B43B8D7B9C5D07D30EB', '传代比例', NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B67B29893DD742A7836AE8728821415B', 'F3EF81E614724B469146E4F4CEA42D42', '细胞形态评分', '分', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:20', 'd3000000000000000000000000000001', '2026-05-19 14:08:20', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C056B800ED994F70895109DCDBA773D5', '54A05AC7C28742ED9DCA11C11DA45058', '终止后 pH 目测', NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:27:14', 0); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C81620455DA74FE58450DE0532196ED0', 'B087B30CEFF6452B93B8AE5988A6139D', '水浴温度', '℃', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_data_collection` (`id`, `step_id`, `collection_name`, `unit`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D4D246F5BF2243FE929CE7D122039880', 'AF4996A0DECC40F2AA8E937F313E78EC', '培养体积', 'mL', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_route_step_output +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_route_step_output`; +CREATE TABLE `biz_process_route_step_output` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `step_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '步骤id', + `output_type_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产出类型id', + `output_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产出物名称', + `output_barcode` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产出物条码', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prso_step` (`step_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线步骤产出物'; + +-- ---------------------------- +-- Records of biz_process_route_step_output +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('13E70A2F08B742B1B692F8F857AD5B5C', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'prod_otype_001', '复苏细胞悬液', 'OUT-GX001-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('19D0FFE899C84C1184307E4F020E6C84', 'DB85778C084748FA891BD4A92168BACD', 'prod_otype_001', '传代后细胞悬液', 'OUT-GX004-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('49A028694149466C87B603D1E8A361FC', 'B087B30CEFF6452B93B8AE5988A6139D', 'prod_otype_001', '复苏细胞悬液', 'OUT-GX001-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('620FA737DA0141D0861C6148C01C2FE2', 'B2A6900C1094488BBE6B80A9804A0D62', 'prod_otype_004', '形态观察记录', 'OUT-GX003-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:58', 'd3000000000000000000000000000001', '2026-05-19 14:26:58', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7E39AD6DAEEF41599025E095AE6B0E56', '4740629E16C34B43B8D7B9C5D07D30EB', 'prod_otype_001', '传代后细胞悬液', 'OUT-GX004-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A778983CF85B4D0E8ADC159C9A5C5211', 'B48978E2D9404268B334BA019828C9C2', 'prod_otype_004', '形态观察记录', 'OUT-GX003-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:53', 'd3000000000000000000000000000001', '2026-05-19 14:27:03', 1); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D73EAA68C8504D439195054014F6F1C6', '8B126516153E41D19BB0C0F2AA701751', 'prod_otype_001', '计数后细胞悬液', 'OUT-GX006-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 13:24:45', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DEB36792C4C64F15AC938F831141C909', 'AF4996A0DECC40F2AA8E937F313E78EC', 'prod_otype_001', '接种后培养细胞', 'OUT-GX002-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EC3FC30132A74B91BDBF390F6A96B4A9', '14736E83807F4F488C7EB5BE20BD2A39', 'prod_otype_001', '传代后细胞悬液', 'OUT-GX004-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F43034D8FA2F43F4B8540DAE791365C5', 'F3EF81E614724B469146E4F4CEA42D42', 'prod_otype_004', '形态观察记录', 'OUT-GX003-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:20', 'd3000000000000000000000000000001', '2026-05-19 14:08:20', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FA705C25DDC54372A5F08DF7A9808A81', '54A05AC7C28742ED9DCA11C11DA45058', 'prod_otype_001', '终止消化细胞悬液', 'OUT-GX005-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:27:14', 0); +INSERT INTO `biz_process_route_step_output` (`id`, `step_id`, `output_type_id`, `output_name`, `output_barcode`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FF3C5FA4293342658BF4BA4C53C12EDD', '66315C5F77604D4A879B4A731FFBF992', 'prod_otype_001', '计数后细胞悬液', 'OUT-GX006-001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_process_route_step_reagent +-- ---------------------------- +DROP TABLE IF EXISTS `biz_process_route_step_reagent`; +CREATE TABLE `biz_process_route_step_reagent` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `step_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '步骤id', + `reagent_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '试剂编码', + `reagent_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '试剂名称', + `spec` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规格', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `is_key_material` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '是否关键物料(0-否 1-是)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prsr_step` (`step_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线步骤试剂'; + +-- ---------------------------- +-- Records of biz_process_route_step_reagent +-- ---------------------------- +BEGIN; +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('014D197FE1B94C7E8561887D8A31F601', 'B2A6900C1094488BBE6B80A9804A0D62', 'SJ004', 'PBS 缓冲液', '500mL', '2', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:58', 'd3000000000000000000000000000001', '2026-05-19 14:26:58', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0289B26A22534BE9ADCDA43E1244426C', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1CCF671359DB4C6C893D648B23092AFA', 'AF4996A0DECC40F2AA8E937F313E78EC', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2B96631198E44ED4815B321CD6BC2507', '54A05AC7C28742ED9DCA11C11DA45058', 'SJ001', 'DMEM 高糖培养基', '500mL', '8', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:27:14', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2CBA090D01CE4F4EA7573DB72D16A0C1', 'F3EF81E614724B469146E4F4CEA42D42', 'SJ004', 'PBS 缓冲液', '500mL', '2', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:20', 'd3000000000000000000000000000001', '2026-05-19 14:08:20', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2E3C1C9D351746DE96C8F4841B669FBF', 'B48978E2D9404268B334BA019828C9C2', 'SJ004', 'PBS 缓冲液', '500mL', '2', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:26:53', 'd3000000000000000000000000000001', '2026-05-19 14:27:03', 1); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('307BC2AE251B4220AFA3DA37CF1AB8BA', 'B087B30CEFF6452B93B8AE5988A6139D', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4687E57876AA4C1CA9CBA362FD4749FE', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('469456D972BD4F5EAB30CE586CFDA2DF', 'AF4996A0DECC40F2AA8E937F313E78EC', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4BB874CC60DE4508B9A6FB1A38C25B3F', '14736E83807F4F488C7EB5BE20BD2A39', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('513604C915CF4A06A6E7D7801F2EA666', '8B126516153E41D19BB0C0F2AA701751', 'SJ005', '台盼蓝染液', '10mL', '0.1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:35:48', 1); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('51AF555E4E044E039897AF13409004BC', '7642FDAE27504D6AA2E5DE874B0FA1DA', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:28:25', 'd3000000000000000000000000000001', '2026-05-19 13:28:25', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('64768F3321DE470992BC444E0487E5FF', '14736E83807F4F488C7EB5BE20BD2A39', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('677DDB8BE37044B786C178134624957F', '66315C5F77604D4A879B4A731FFBF992', 'SJ004', 'PBS 缓冲液', '500mL', '1', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6AEA1756FC5F4F81A54547988BFAA59B', '4740629E16C34B43B8D7B9C5D07D30EB', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '2', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('838866153CD64ECAA3728BB9A4279F33', 'DB85778C084748FA891BD4A92168BACD', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '2', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8C16DA73DCF94C3793D7CC119503C5E2', '4740629E16C34B43B8D7B9C5D07D30EB', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('95377D21E0134AADA73691B0D6CE0A86', '14736E83807F4F488C7EB5BE20BD2A39', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '2', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:08:22', 'd3000000000000000000000000000001', '2026-05-19 14:08:22', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9A2DBA21EFF9452F929534B6A5286045', 'DB85778C084748FA891BD4A92168BACD', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9CE9819B38C24C049195F9005DF44C08', '8B126516153E41D19BB0C0F2AA701751', 'SJ004', 'PBS 缓冲液', '500mL', '1', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:24:45', 'd3000000000000000000000000000001', '2026-05-19 14:35:48', 1); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A4EA3838ECF74C388114C75ACABD2C81', '4740629E16C34B43B8D7B9C5D07D30EB', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:44:41', 'd3000000000000000000000000000001', '2026-05-19 13:44:41', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A57913912522442ABAB7DA508647A8B6', '54A05AC7C28742ED9DCA11C11DA45058', 'SJ002', '胎牛血清 FBS', '500mL', '2', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:27:14', 'd3000000000000000000000000000001', '2026-05-19 14:27:14', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A63E18F787A7422CAD7386DB261EA7BA', 'B087B30CEFF6452B93B8AE5988A6139D', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B16A50789AB04ECBB5E3F0C1CEAF05E2', 'B087B30CEFF6452B93B8AE5988A6139D', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '0', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:27:54', 'd3000000000000000000000000000001', '2026-05-19 14:11:01', 1); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B95659556A6C46CA9A79B7F5D830182C', 'DB85778C084748FA891BD4A92168BACD', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:16', 'd3000000000000000000000000000001', '2026-05-19 14:32:16', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C1B3ED689151436C8C9EF769FCE41B51', '66315C5F77604D4A879B4A731FFBF992', 'SJ005', '台盼蓝染液', '10mL', '0.1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:32:21', 'd3000000000000000000000000000001', '2026-05-19 14:32:21', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D719673F94504A0C99A33E506B6639FC', 'AF4996A0DECC40F2AA8E937F313E78EC', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 13:40:00', 'd3000000000000000000000000000001', '2026-05-19 13:40:00', 0); +INSERT INTO `biz_process_route_step_reagent` (`id`, `step_id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `is_key_material`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E51D12DFB5D94DF2B6330EB0DB82BC1B', '8B126516153E41D19BB0C0F2AA701751', 'SJ005', '台盼蓝染液', '10mL', '0.1', 'mL', '1', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 14:35:48', 'd3000000000000000000000000000001', '2026-05-19 14:35:48', 0); +COMMIT; + -- ---------------------------- -- Table structure for biz_protocol_audit -- ---------------------------- @@ -1612,6 +2480,7 @@ CREATE TABLE `biz_protocol_audit` ( -- ---------------------------- BEGIN; INSERT INTO `biz_protocol_audit` (`id`, `collection_protocol_id`, `auditor_user_id`, `audit_remark`, `audit_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('426482ED0B044725B12AFEA96CBDE031', '485BACE9A21C4D7FA23EE919C15EDDF0', 'd3000000000000000000000000000001', '填写错误', 'shth', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 09:01:41', 'd3000000000000000000000000000001', '2026-05-17 09:01:41', 0); +INSERT INTO `biz_protocol_audit` (`id`, `collection_protocol_id`, `auditor_user_id`, `audit_remark`, `audit_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('926BF28224C84402890330DD2E1F12DF', '5BFDF94E590E4022BC1F4E84F3430F85', 'd3000000000000000000000000000001', '审核通过', 'shtg', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:40', 'd3000000000000000000000000000001', '2026-05-17 21:45:40', 0); INSERT INTO `biz_protocol_audit` (`id`, `collection_protocol_id`, `auditor_user_id`, `audit_remark`, `audit_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BB6777CDCAB74B169D6858BC5BF562AB', '485BACE9A21C4D7FA23EE919C15EDDF0', 'd3000000000000000000000000000001', '第一次审核', 'shtg', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 08:53:10', 'd3000000000000000000000000000001', '2026-05-17 08:53:10', 0); COMMIT; @@ -1646,8 +2515,13 @@ CREATE TABLE `biz_protocol_collection_info` ( -- ---------------------------- BEGIN; INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1398F851E7D54B7DB42DCCB7BE2E23B0', '9A03618CE61A472988EDC57C8D5C6E22', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:11:03', '2026-05-16 21:11:03', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:10', 'd3000000000000000000000000000001', '2026-05-16 21:11:10', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('18A106988E87446BBA87E96401A80DC2', '05F94756C7BD4EF4AA7C4780FBF90316', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-17 21:19:12', '2026-05-17 21:10:14', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3731DAC7EE454FB6BDDCE6767D78347B', '0E748087F14C4AA4AB977DE1BBE90367', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 10:32:04', '2026-05-19 09:32:05', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:16:29', 'd3000000000000000000000000000001', '2026-05-19 11:17:09', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5569CBCB5F33413D8EC42C0761EB3503', '5BFDF94E590E4022BC1F4E84F3430F85', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '李护士', 'd3000000000000000000000000000001', '2026-05-17 21:41:46', '2026-05-17 20:41:48', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:37', 'd3000000000000000000000000000001', '2026-05-17 21:50:51', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5D36E30B013C48B5BB12A940D6429632', 'F124840F339F404D9A3592F3637E550C', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:07:00', '2026-05-16 21:07:00', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:01', 'd3000000000000000000000000000001', '2026-05-16 21:07:01', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5E17A0310D7E4C2DB1787570A79DAC74', 'B925F7CEEAD6458D99E9B3974037E980', NULL, NULL, NULL, 'd3000000000000000000000000000001', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:16:48', 'd3000000000000000000000000000001', '2026-05-16 20:16:48', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70836BA9B724466B96C3908EA7B9E502', '0DC6746855304889AD407948FBAFCF23', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 11:39:00', '2026-05-19 10:39:02', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:19', 'd3000000000000000000000000000001', '2026-05-19 11:42:31', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('74D702C06E924759A15DC1D0EAF8B0B5', '147DB9B384E545A29013FC36F690A6C1', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 10:32:04', '2026-05-19 09:32:05', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:49', 'd3000000000000000000000000000001', '2026-05-19 11:10:49', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9AEAF7068A2B49209208746DA380CF1A', 'B7AD6D4258344F46BA91CFD6A751C0A7', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:07:02', '2026-05-16 21:07:02', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:03', 'd3000000000000000000000000000001', '2026-05-16 21:07:03', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A53CCFA00F9F439D919D213F12B8F8CD', '00A286E19367459AB2ED7234A435E655', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '张护士', 'd3000000000000000000000000000001', '2026-05-16 09:50:00', '2026-05-16 20:05:27', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:06:20', 'd3000000000000000000000000000001', '2026-05-16 20:06:20', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B7AD892887B748F1B302A6156B3A75E9', '33FCE85242EE4DCCB252B38A18E5C1B9', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:11:03', '2026-05-16 21:11:03', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:07', 'd3000000000000000000000000000001', '2026-05-16 21:11:07', 0); @@ -1655,11 +2529,46 @@ INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `reg INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BA46839DA6EA4B3D803B485AEFD2D479', '1EA8A72A285340B8B5ABC1BB468FBF23', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:07:03', '2026-05-16 21:07:03', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D18CB55CFD67454B9589303A86702E1D', 'FE868FFDAB224609B05E5942CC6EF4E2', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '罗护士', 'd3000000000000000000000000000001', '2026-05-16 20:14:35', NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:46', 'd3000000000000000000000000000001', '2026-05-16 20:15:46', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D58DF0EDCB1749C48AF2498659F54EB8', '7ED7E888C1564FB895CB0A7C112B6139', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:11:03', '2026-05-16 21:11:03', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:04', 'd3000000000000000000000000000001', '2026-05-16 21:11:04', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DA97B0BC96C446378B0168C2A2DCE554', 'D6A1714B7FAD4401B943226DA22911AD', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 10:32:04', '2026-05-19 09:32:05', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:33', 'd3000000000000000000000000000001', '2026-05-19 11:10:33', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EAEABD18A67E4201804D3EC058B3A6AD', 'E798F42A67194133B31AA42C4732CE29', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:11:03', '2026-05-16 21:11:03', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:06', 'd3000000000000000000000000000001', '2026-05-16 21:11:06', 0); +INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F32FA2D6F4A1414F95B4DAB281092602', '14B784B28B1441C4B4340D269C96C9DF', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 10:32:04', '2026-05-19 09:32:05', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:12:28', 'd3000000000000000000000000000001', '2026-05-19 11:12:28', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F8D0F316952C49DEA5C67C59185222B6', 'B7B27BF0D76641008571AD4822DF80F1', NULL, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:42:02', 'd3000000000000000000000000000001', '2026-05-16 18:42:02', 0); INSERT INTO `biz_protocol_collection_info` (`id`, `collection_protocol_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FB32876BF01C4E7E8F1A083768742745', '97D4A2E3735646AABCE66FA5B620949A', 'e1000000000000000000000000000001', 'E54F501D6F754EAF9F2C4FFA889E39AF', '测试医护', 'b13c2be24e7111f19f4700163e3bdd9601', '2026-05-16 21:11:03', '2026-05-16 21:11:03', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); COMMIT; +-- ---------------------------- +-- Table structure for biz_protocol_donation_convert +-- ---------------------------- +DROP TABLE IF EXISTS `biz_protocol_donation_convert`; +CREATE TABLE `biz_protocol_donation_convert` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `convert_type` varchar(32) NOT NULL COMMENT 'storage_to_research/research_to_storage', + `protocol_id` varchar(64) NOT NULL COMMENT '采集协议单ID', + `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', + `biz_no` varchar(64) NOT NULL COMMENT '转移完成时共用编号快照', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT '0' COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_pdc_protocol` (`protocol_id`,`del_flag`), + KEY `idx_pdc_donation` (`research_donation_id`,`del_flag`), + KEY `idx_pdc_biz_no` (`tenant_no`,`biz_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='细胞存储协议与科研捐赠转移关联'; + +-- ---------------------------- +-- Records of biz_protocol_donation_convert +-- ---------------------------- +BEGIN; +INSERT INTO `biz_protocol_donation_convert` (`id`, `convert_type`, `protocol_id`, `research_donation_id`, `biz_no`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7F7A758B835D4C23BEB996AE92F64AE0', 'storage_to_research', '5BFDF94E590E4022BC1F4E84F3430F85', 'C7673FDA427A47169F75D0BF4ED32BCC', 'ZKZX34000074', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +INSERT INTO `biz_protocol_donation_convert` (`id`, `convert_type`, `protocol_id`, `research_donation_id`, `biz_no`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A5D94794237F45C0B3FB22D94710F3A2', 'research_to_storage', '0DC6746855304889AD407948FBAFCF23', '67C5A1F4513247B88899EA2EA3806D25', 'ZKZX34000085', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:19', 'd3000000000000000000000000000001', '2026-05-19 11:40:19', 0); +COMMIT; + -- ---------------------------- -- Table structure for biz_protocol_fullmoon_todo -- ---------------------------- @@ -1761,6 +2670,7 @@ CREATE TABLE `biz_protocol_party_customer` ( -- Records of biz_protocol_party_customer -- ---------------------------- BEGIN; +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('022D546CD9A344129003ED036805EAC5', '14B784B28B1441C4B4340D269C96C9DF', NULL, '王莉丝', '13800992211', '340822198810102010', '198810', '汉族', '安徽省合肥蜀山区望江西路091号', '欧阳伊格', '13899002211', '340822198701232212', '欧阳立', '340822202605191031', '2026-05-19 10:31:38', '1', 'sc', 3, 3780, 9, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:12:28', 'd3000000000000000000000000000001', '2026-05-19 11:12:28', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('035FB90E9A454C34AC3B586AAC6F2EA2', '1EA8A72A285340B8B5ABC1BB468FBF23', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:07:03', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:04', 'd3000000000000000000000000000001', '2026-05-16 21:07:04', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('06270B96869A4458984DECA25EEED946', '7ED7E888C1564FB895CB0A7C112B6139', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:11:03', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:04', 'd3000000000000000000000000000001', '2026-05-16 21:11:04', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2F2EB0BF1ADA45FE8FE67F1AE7867BE8', '97D4A2E3735646AABCE66FA5B620949A', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:11:03', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); @@ -1768,12 +2678,18 @@ INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `cust INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('39F1ECE790B2433585D20BA51C879B96', '485BACE9A21C4D7FA23EE919C15EDDF0', 'B2C3D3EA97684DA68FA6C7F7C93F33A2', '欧阳一秀', '13899002122', '340822198811221222', '198811', '蒙古族', '母亲家庭住址 母亲家庭住址 母亲家庭住址', '父亲姓名', '13900221122', '340822198811221223', '欧阳懿', '340822202501021220', '2026-05-16 21:40:12', '0', 'pgc', 2, 3759, 6, 7, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:21:53', 'd3000000000000000000000000000001', '2026-05-17 14:55:11', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('39F4D84B29A942548A5C1C19B693BA50', 'B7AD6D4258344F46BA91CFD6A751C0A7', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:07:02', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:03', 'd3000000000000000000000000000001', '2026-05-16 21:07:03', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5108A7D98BA8496BB5ADAAE0C610D470', 'FE868FFDAB224609B05E5942CC6EF4E2', 'B2C3D3EA97684DA68FA6C7F7C93F33A2', '欧阳一秀', '13899002122', '3408221988112212', '201988', '蒙古族', '安徽省合肥市蜀山区望江西路099号', '王大陆', '13099822212', '34082219900011223', NULL, NULL, '2026-05-16 20:15:08', '0', 'sc', 2, 3750, 9, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:46', 'd3000000000000000000000000000001', '2026-05-16 20:15:46', 0); +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('61E32E21103B4D5490E71C802BA73611', '0E748087F14C4AA4AB977DE1BBE90367', 'A723D717CB5144B6BFC6547C18194022', '王莉丝', '13800992211', '340822198810102010', '198810', '汉族', '安徽省合肥蜀山区望江西路091号', '欧阳伊格', '13899002211', '340822198701232212', '欧阳立', '340822202605191031', '2026-05-19 10:31:38', '1', 'sc', 3, 3780, 9, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:16:29', 'd3000000000000000000000000000001', '2026-05-19 11:17:08', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7EDFD8C80F2C496F86F26FC28DCC89DF', 'B7B27BF0D76641008571AD4822DF80F1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:42:02', 'd3000000000000000000000000000001', '2026-05-16 18:42:02', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('89746DC9E1484F8B9A47669A1786FB9A', '9A03618CE61A472988EDC57C8D5C6E22', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:11:03', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:10', 'd3000000000000000000000000000001', '2026-05-16 21:11:10', 0); +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9150FF39D91241B59BF0FC60C96C7724', '147DB9B384E545A29013FC36F690A6C1', NULL, '王莉丝', '13800992211', '340822198810102010', '198810', '汉族', '安徽省合肥蜀山区望江西路091号', '欧阳伊格', '13899002211', '340822198701232212', '欧阳立', '340822202605191031', '2026-05-19 10:31:38', '1', 'sc', 3, 3780, 9, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:49', 'd3000000000000000000000000000001', '2026-05-19 11:10:49', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9DEBEA1320D4477B806C0A06D5F68B04', 'E798F42A67194133B31AA42C4732CE29', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:11:03', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:05', 'd3000000000000000000000000000001', '2026-05-16 21:11:05', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C1DE8E1D5B074461AB47DD2074B6A1D5', 'F124840F339F404D9A3592F3637E550C', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:07:00', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:01', 'd3000000000000000000000000000001', '2026-05-16 21:07:01', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C38DB4FF043849C7BDFD91FF1D4FF152', 'B925F7CEEAD6458D99E9B3974037E980', '3C8F020237A74CEDBB450AB1BE49C2DB', '张予香', '13988772211', '340822199011223322', '199011', '汉族', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:16:47', 'd3000000000000000000000000000001', '2026-05-16 20:16:47', 0); +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CFEB190A99484ED5BA87F0FE7F3EEB9D', '5BFDF94E590E4022BC1F4E84F3430F85', 'BFA7FEBE25684B3EAE25299ABF933463', '罗雨', '13988772211', '340922198011121113', '198011', '汉族', '安徽省合肥市望龙路0981号', '李毅', '13899002233', '340822198810290128', '李李', '340822202605170212', '2026-05-17 21:41:14', '0', 'pgc', 2, 3890, 8, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:37', 'd3000000000000000000000000000001', '2026-05-17 21:50:51', 0); INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DCD37DD7C7284D37BB57C1E02B94347C', '33FCE85242EE4DCCB252B38A18E5C1B9', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市测试路1号', '测试父亲', '13800138001', '340102198801011235', '测试新生儿', NULL, '2026-05-16 21:11:03', '1', 'sc', 1, 3300, 9, 10, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:07', 'd3000000000000000000000000000001', '2026-05-16 21:11:07', 0); +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DF96E4EB450B429497F4B5362BE6BEAF', '05F94756C7BD4EF4AA7C4780FBF90316', '0A27212E138F44A3ABFA39601CD2B540', '王艺', '13509802211', '340822198710290219', '198710', '蒙古族', '安徽省合肥市潜山路091号', '李大达', '13878981122', '340822198510231024', '李晓鸥', '340822202605172118', '2026-05-17 21:18:42', '1', 'sc', 2, 3900, 9, 8, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E6B1A9E3C3A9482EB08107CE5B671CBD', '0DC6746855304889AD407948FBAFCF23', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市蜀山区', '李毅', '13988221128', '340822198811100122', '李不凡', '340822202605191138', '2026-05-19 11:38:32', '1', 'pgc', 3, 3890, 9, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:19', 'd3000000000000000000000000000001', '2026-05-19 11:42:31', 0); +INSERT INTO `biz_protocol_party_customer` (`id`, `collection_protocol_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FE9AABA3C1434B4AA1831668D0A30ECA', 'D6A1714B7FAD4401B943226DA22911AD', NULL, '王莉丝', '13800992211', '340822198810102010', '198810', '汉族', '安徽省合肥蜀山区望江西路091号', '欧阳伊格', '13899002211', '340822198701232212', '欧阳立', '340822202605191031', '2026-05-19 10:31:38', '1', 'sc', 3, 3780, 9, 9, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:33', 'd3000000000000000000000000000001', '2026-05-19 11:10:33', 0); COMMIT; -- ---------------------------- @@ -1812,10 +2728,13 @@ INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2854ECF2D2004BAAB6A1CE6CEBBCC6E1', '33FCE85242EE4DCCB252B38A18E5C1B9', 'fq', 30000.00, 3, 3, NULL, '20260516', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:08', 'd3000000000000000000000000000001', '2026-05-16 21:11:08', 0); INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4C5AD13A3B0349A3B91B188A24E7FD44', '97D4A2E3735646AABCE66FA5B620949A', 'fq', 30000.00, 3, 3, NULL, '20260516', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('58D61339703D4672B55F8C221C2DD869', '1EA8A72A285340B8B5ABC1BB468FBF23', 'fq', 60000.00, 3, 3, NULL, '20260516', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); +INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('75DE7B3CD9CE408AABF26E45280E669A', '5BFDF94E590E4022BC1F4E84F3430F85', 'fq', 36600.00, 7, 3, NULL, '20260518', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('76D1B465668642C2BF6373A2A6129E15', 'B925F7CEEAD6458D99E9B3974037E980', 'dj', NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:16:48', 'd3000000000000000000000000000001', '2026-05-16 20:16:48', 0); INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9067F25A4ECB4981A0C9F2E4EBAC1E47', 'B7AD6D4258344F46BA91CFD6A751C0A7', 'fq', 30000.00, 3, 3, NULL, '20260516', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:03', 'd3000000000000000000000000000001', '2026-05-16 21:07:03', 0); +INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90B6B216212A47E09616B6F636F397C3', '0DC6746855304889AD407948FBAFCF23', 'dj', 0.00, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:45', 'd3000000000000000000000000000001', '2026-05-19 11:42:32', 0); INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('97380B909F884FFFB119EA5FB184FF30', 'F124840F339F404D9A3592F3637E550C', 'fq', 30000.00, 3, 3, NULL, '20260516', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:02', 'd3000000000000000000000000000001', '2026-05-16 21:07:02', 0); INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A7890A2252114D4CB7FF028A974FD8C3', '9A03618CE61A472988EDC57C8D5C6E22', 'fq', 60000.00, 3, 3, NULL, '20260516', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); +INSERT INTO `biz_protocol_payment` (`id`, `collection_protocol_id`, `pay_mode`, `contract_amount`, `installment_count`, `installment_interval_months`, `lump_sum_deadline`, `installment_start_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C2892B94063F4522BE9F4F08D6332831', '05F94756C7BD4EF4AA7C4780FBF90316', 'fq', 36600.00, 6, 3, NULL, '20260518', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); COMMIT; -- ---------------------------- @@ -1859,45 +2778,78 @@ CREATE TABLE `biz_protocol_payment_detail` ( -- Records of biz_protocol_payment_detail -- ---------------------------- BEGIN; +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0081B2CD69424055A986437541D3D25A', '90B6B216212A47E09616B6F636F397C3', NULL, 0.00, NULL, '2026-05-19 11:42:28', NULL, NULL, NULL, NULL, NULL, 'dfj', NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:42:32', 'd3000000000000000000000000000001', '2026-05-19 11:42:32', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('02C24EE1CA3D48D19B6FFE8BA3879A21', '2171B571779D423887956090CC313268', 'yhkzz', 6520.00, 6520.00, '2026-05-16 22:50:42', 'protocol-payment/202605/16/166a14791ee045e2b33a69d58efb94ca.jpeg', NULL, NULL, NULL, NULL, 'ytf', 2, '20260506', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:32', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('035B1F63BB554EECB9A7F1AEC834F368', '148358513B7947609B664BFDAC6E95B2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260823', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:47', 'd3000000000000000000000000000001', '2026-05-16 20:15:47', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('04C89370DA734ABEBC8C261FAEB3157A', 'C2892B94063F4522BE9F4F08D6332831', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270818', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:12', 'd3000000000000000000000000000001', '2026-05-17 21:21:12', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0514FFEF63D4476795B35C63FA1142FF', '2171B571779D423887956090CC313268', 'wxzz', 32600.00, 32600.00, '2026-05-16 22:49:45', 'protocol-payment/202605/16/dbbfe85a051641578642ff231fe531ca.jpeg', NULL, NULL, NULL, NULL, 'jfqrz', NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:11', 'd3000000000000000000000000000001', '2026-05-16 22:51:09', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('076B066A78E24236B6612E368E2D29BD', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, 'protocol-finance-receipt/202605/17/e547ff23eac542c994dc4d57d9e35ed8.jpeg,protocol-finance-receipt/202605/17/9eb2b0368d314383a5d967697fbdcf13.jpg', '123123', NULL, NULL, 'yjf', 1, '20260513', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 15:45:10', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0F683E2D814D4EACBC7B884809841362', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 6, '20270818', NULL, NULL, NULL, 'zkxw', 5, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('11CE1049C3144295A63600CE209DBA81', 'C2892B94063F4522BE9F4F08D6332831', 'wxzz', 6100.00, 6100.00, '2026-05-15 00:00:00', 'protocol-payment/202605/17/d85acd3faff046dfa223cd23d5d2bd59.jpeg,protocol-payment/202605/17/c32740a2cdd4406f8b868d0bf2b618e7.docx', NULL, NULL, NULL, NULL, 'dfj', 1, '20260818', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:12', 'd3000000000000000000000000000001', '2026-05-17 21:21:12', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1A46E50FD1904CEAB2B92786956D6C03', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20261118', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1AD5CD9005304B9E8849F42AADA94749', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 6, '20270818', NULL, NULL, NULL, 'zkxw', 5, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('24CE646E65FC4CCDA97E2D45CC6744E1', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270518', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('264BC6BE0D8145F59EAA762135FE6F7D', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'jfqrz', 4, '20270220', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('26D967813B814B8CAA2222A4A980030B', '58D61339703D4672B55F8C221C2DD869', 'wxzz', 20000.00, 20000.00, '2026-05-16 21:07:03', NULL, NULL, NULL, NULL, NULL, 'yjf', 1, '20250008', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2D761CC5037C48699B6E6CB1B9B8C769', '148358513B7947609B664BFDAC6E95B2', 'zzbzz', NULL, 12200.00, '2026-05-16 20:15:30', 'protocol-payment/202605/16/fcd96e554a764448a5ad22272a34a275.jpeg,protocol-payment/202605/16/81b89839bcad4f0b874448c0055c506c.jpeg,protocol-payment/202605/16/5de34b52a8724bd2ba1796aa7d5cf9f1.jpeg', NULL, NULL, NULL, NULL, 'dfj', 1, '20260523', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:47', 'd3000000000000000000000000000001', '2026-05-16 20:15:47', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2E01DEF6C37344C1AD84A095CE17E115', '97380B909F884FFFB119EA5FB184FF30', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20250014', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:02', 'd3000000000000000000000000000001', '2026-05-16 21:07:02', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3123255CF48F48EBA997D006D45727A3', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270518', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3B345E06373745DBAA836E6C99B0392E', '2854ECF2D2004BAAB6A1CE6CEBBCC6E1', 'wxzz', 10000.00, 10000.00, '2026-05-16 21:11:03', NULL, NULL, NULL, NULL, NULL, 'yjf', 1, '20260008', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:08', 'd3000000000000000000000000000001', '2026-05-16 21:11:08', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3CA6AB10064A43E6BC7B305B68952EB9', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260818', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4134F631F7B44E48ABE472C5E65DB71F', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 6, '20270818', NULL, NULL, NULL, 'zkxw', 5, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('445A676D63A342F8B520F959CA2FFF0C', 'A7890A2252114D4CB7FF028A974FD8C3', NULL, 20000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20260014', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('447EC9FFC62E486A80FF278D45767C50', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.58, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 7, '20271118', NULL, NULL, NULL, 'zkxw', 6, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('455BDC0AB129439BB8631E72807574B3', '75DE7B3CD9CE408AABF26E45280E669A', 'wxzz', 5228.57, 610.00, '2026-05-17 21:43:24', 'protocol-payment/202605/17/1d0d97b7d63842f8862992a8fe2e98ea.jpeg,protocol-payment/202605/17/e9e823086c22429cb392478e812fa60c.docx', NULL, NULL, NULL, NULL, 'dfj', 1, '20260518', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('45EA2BCB8FF845859CE6540F2EE3E50F', '0142B05F98F44926B41758E9CD2DE7B1', 'yhkzz', 25000.00, 25000.00, '2026-05-16 21:11:03', NULL, NULL, NULL, NULL, NULL, 'yjf', NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:05', 'd3000000000000000000000000000001', '2026-05-16 21:11:05', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4962DC6B071E4210A6F6C9FAA523B91F', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260818', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4FEBDB3C797B41A18DFA3D9FA488103B', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 1, '20260513', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:32', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('587587915C394CD5867B2162750647F2', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20261118', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('593937FF0F814761B52BFD4681D07778', '97380B909F884FFFB119EA5FB184FF30', 'wxzz', 10000.00, 10000.00, '2026-05-16 21:07:00', NULL, NULL, NULL, NULL, NULL, 'yjf', 1, '20250008', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:02', 'd3000000000000000000000000000001', '2026-05-16 21:07:02', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5BA458E95A1946B697AF8D141045364E', '2171B571779D423887956090CC313268', 'yhkzz', 6520.00, 6520.00, '2026-05-16 22:50:42', 'protocol-payment/202605/16/166a14791ee045e2b33a69d58efb94ca.jpeg', NULL, NULL, NULL, NULL, 'ytf', 2, '20260506', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5DEB43C9682948EAB52E9F1A2F4682B1', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260818', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('61208EBFA3F94E828181F3817CBBF94A', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270520', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:32', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6171C25A50DC49B7AE04112A5DCCA608', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270218', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6A7EC58A1A894C46A7571FF06D964E0D', '2854ECF2D2004BAAB6A1CE6CEBBCC6E1', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260011', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:08', 'd3000000000000000000000000000001', '2026-05-16 21:11:08', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6D875AE63AA641F7895501E38E495889', '4C5AD13A3B0349A3B91B188A24E7FD44', 'wxzz', 10000.00, 10000.00, '2026-05-16 21:11:03', NULL, NULL, NULL, NULL, NULL, 'yjf', 1, '20260008', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6F3D1BA84E7C4DC58CB02504E64A4107', '2171B571779D423887956090CC313268', 'yhkzz', 6520.00, 6520.00, '2026-05-16 22:50:42', 'protocol-payment/202605/16/166a14791ee045e2b33a69d58efb94ca.jpeg', 'protocol-finance-refund/202605/17/f91893b9af5f4c959427aa608cb509ce.jpeg', '退费确认', 'protocol-finance-refund/202605/17/f91893b9af5f4c959427aa608cb509ce.jpeg', '退费确认', 'ytf', 2, '20260820', 6520.00, '测试', 'protocol-payment-refund/202605/17/b4dbf7f9233a4644bd33a18e8b0f7a14.jpeg,protocol-payment-refund/202605/17/e53fe4c8924e4995a01619e792f1f8d1.jpeg', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6FC73D2EDABF4D6890B7F6DB7327DA17', '75DE7B3CD9CE408AABF26E45280E669A', 'zzbzz', 6100.00, 610.00, '2026-05-17 21:43:24', 'protocol-payment/202605/17/1d0d97b7d63842f8862992a8fe2e98ea.jpeg,protocol-payment/202605/17/e9e823086c22429cb392478e812fa60c.docx', NULL, NULL, NULL, NULL, 'dfj', 1, '20260518', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('72FE03C17FA043CAB2009A0166EA8DE9', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270518', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('73FBB053A4C9454197122CC4CBA3E37A', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'jfqrz', 5, '20270520', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 15:44:51', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7AF5287236FE41828CABD21104250ED9', '58D61339703D4672B55F8C221C2DD869', NULL, 20000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20250014', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7C6828DC0A2F480097F08A984CE0B968', 'C2892B94063F4522BE9F4F08D6332831', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20270218', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:12', 'd3000000000000000000000000000001', '2026-05-17 21:21:12', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('88945FECC6D74FA9B137F049E6DB3644', '148358513B7947609B664BFDAC6E95B2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20261123', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:47', 'd3000000000000000000000000000001', '2026-05-16 20:15:47', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('88F678FBA69E4402920BF2B6E6581289', '2171B571779D423887956090CC313268', 'zzbzz', 6520.00, 6520.00, '2026-05-16 22:50:57', 'protocol-payment/202605/16/a0152723d46944fba45571f73ee080ef.jpeg', NULL, NULL, 'protocol-finance-refund/202605/17/020923af57bd426aa246a96b30d07618.jpeg,protocol-finance-refund/202605/17/1da0ce39c91c4c15a593ea9cdeca919c.jpeg,protocol-finance-refund/202605/17/316df6aec04847be836074e4db8c7633.docx,protocol-finance-refund/202605/17/3894db6f28904f96b8a59eb1bc9b139d.jpeg', '123', 'ytf', 3, '20261120', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 16:00:53', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8C3ECCE782134DDD80B2969AFEF81A3A', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270520', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8E21F6A9613A4D1AAC87903DFA710E83', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.58, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 7, '20271118', NULL, NULL, NULL, 'zkxw', 6, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9415050BC35A408C9D71424BD8731C04', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20261118', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('95D9903CEB2B42D3804B5899D982005C', '75DE7B3CD9CE408AABF26E45280E669A', 'wxzz', 5228.57, 5228.57, '2026-05-17 21:43:24', 'protocol-payment/202605/17/1d0d97b7d63842f8862992a8fe2e98ea.jpeg,protocol-payment/202605/17/e9e823086c22429cb392478e812fa60c.docx', 'protocol-finance-receipt/202605/17/cc1384ada0c34a2a972a98f8204554f9.jpeg', '确认收款了', NULL, NULL, 'yjf', 1, '20260518', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('980B9973306D47FF80981FE173BAD315', '2171B571779D423887956090CC313268', 'zzbzz', 6520.00, 6520.00, '2026-05-16 22:50:57', 'protocol-payment/202605/16/a0152723d46944fba45571f73ee080ef.jpeg', NULL, NULL, NULL, NULL, 'tfqrz', 3, '20261120', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:32', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9CBA6083DB6B4E7E97287A0800764376', '0307328AD67F4A89BADA8B56E98E6849', 'yhkzz', 25000.00, 25000.00, '2026-05-16 21:11:03', NULL, NULL, NULL, NULL, NULL, 'yjf', NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:06', 'd3000000000000000000000000000001', '2026-05-16 21:11:06', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9DFBB8A22B21437D947B733F49E2864D', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 5, '20270518', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9FF4E09F4F3B44C8B32A49FC6E6E578F', '9067F25A4ECB4981A0C9F2E4EBAC1E47', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20250014', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:04', 'd3000000000000000000000000000001', '2026-05-16 21:07:04', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A1C48A80AC374D70A2FF48DF6266106B', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270218', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A381FB1E6D8A47F08FC442D045BA58F5', '97380B909F884FFFB119EA5FB184FF30', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20250011', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:02', 'd3000000000000000000000000000001', '2026-05-16 21:07:02', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A7CEDD9CF0744F74B83EF3648A30C767', '2854ECF2D2004BAAB6A1CE6CEBBCC6E1', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20260014', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:08', 'd3000000000000000000000000000001', '2026-05-16 21:11:08', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('AA3D5D04BC8B40BC96C7DDE46B3C2A96', 'C2892B94063F4522BE9F4F08D6332831', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20261118', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:12', 'd3000000000000000000000000000001', '2026-05-17 21:21:12', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('AA45EE8ED3684C99811C7996D5663C31', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20261118', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('AA7570750B4A45E1BA0BDEE715F54C46', 'C2892B94063F4522BE9F4F08D6332831', NULL, 6100.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270518', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:12', 'd3000000000000000000000000000001', '2026-05-17 21:21:12', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B6429086AFD946F3993E80083B242FC6', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'jfqrz', 1, '20260520', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BD172935739944EFAF79304A08BE8537', '2171B571779D423887956090CC313268', 'zzbzz', 6520.00, 6520.00, '2026-05-16 22:50:57', 'protocol-payment/202605/16/a0152723d46944fba45571f73ee080ef.jpeg', 'protocol-finance-receipt/202605/17/6eccd03cca22463bbad941aa51c4ed3c.jpeg', '确认收到钱了', NULL, NULL, 'tfqrz', 3, '20261120', 3000.00, '退费3000', 'protocol-payment-refund/202605/17/e59fb6b0393247da990ec242e66fc951.jpeg,protocol-payment-refund/202605/17/f229d5f233574071ad4ec64f5ad3bcc9.jpeg,protocol-payment-refund/202605/17/30d1aa0397ff423a921de9ff119a412d.jpeg', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C3901AD670884A968A38BE0B0D66127D', '9067F25A4ECB4981A0C9F2E4EBAC1E47', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20250011', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:04', 'd3000000000000000000000000000001', '2026-05-16 21:07:04', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C4C976C985554E1185843859FA878129', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270218', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C8FE43E60C5F48428406F74685C14039', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270218', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D1C17238AA0D41F484A5FBDDAFA8AAC5', '9067F25A4ECB4981A0C9F2E4EBAC1E47', 'wxzz', 10000.00, 10000.00, '2026-05-16 21:07:02', NULL, NULL, NULL, NULL, NULL, 'yjf', 1, '20250008', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:04', 'd3000000000000000000000000000001', '2026-05-16 21:07:04', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DB010D72741B426889D2A2F41B74AAA4', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260818', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E17A8BE243DE435190869CAED00B8B62', 'A7890A2252114D4CB7FF028A974FD8C3', NULL, 20000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260011', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E2DF4E358B20470D8472632DB76382AE', '4C5AD13A3B0349A3B91B188A24E7FD44', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20260011', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E469A6595AF34C8880B15EA37D2F5DF6', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270220', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:32', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E91EAE0A581F4685B28314060163EA56', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.58, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 7, '20271118', NULL, NULL, NULL, 'zkxw', 6, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E96F9075358940CF9873D8A55E22D343', 'A7890A2252114D4CB7FF028A974FD8C3', 'wxzz', 20000.00, 20000.00, '2026-05-16 21:11:03', NULL, NULL, NULL, NULL, NULL, 'yjf', 1, '20260008', NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EA621EC586854C3085558AE3CD061309', '75DE7B3CD9CE408AABF26E45280E669A', 'wxzz', 5228.57, 5228.57, '2026-05-17 21:43:24', 'protocol-payment/202605/17/1d0d97b7d63842f8862992a8fe2e98ea.jpeg,protocol-payment/202605/17/e9e823086c22429cb392478e812fa60c.docx', 'protocol-finance-receipt/202605/17/cc1384ada0c34a2a972a98f8204554f9.jpeg', '确认收款了', 'protocol-finance-refund/202605/17/f5d3eb7b1a1e4276b5325f49035e21ee.jpeg', '确认退费', 'ytf', 1, '20260518', 5228.57, '用户要求退费', 'protocol-payment-refund/202605/17/5c72742e0f764effbd07f0f9056a172b.jpeg', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:52:28', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EB7F66DD47E14334B9A06D746A8AF390', '2171B571779D423887956090CC313268', NULL, 6520.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 4, '20270220', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F36E06005AE5414AB078C97858FB89C3', '58D61339703D4672B55F8C221C2DD869', NULL, 20000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 2, '20250011', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F9B5F8723A1E4EC68DE05625126502D1', '4C5AD13A3B0349A3B91B188A24E7FD44', NULL, 10000.00, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 3, '20260014', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); +INSERT INTO `biz_protocol_payment_detail` (`id`, `payment_id`, `transfer_type`, `due_amount`, `transfer_amount`, `transfer_time`, `transfer_attachments`, `finance_confirm_attachments`, `finance_remark`, `refund_finance_confirm_attachments`, `refund_finance_remark`, `pay_status`, `installment_no`, `installment_due_date`, `refund_amount`, `refund_remark`, `refund_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FF5D34F2DEDF4149B9C5CC6A52867529', '75DE7B3CD9CE408AABF26E45280E669A', NULL, 5228.57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'dfj', 6, '20270818', NULL, NULL, NULL, 'zkxw', 5, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:51', 1); COMMIT; -- ---------------------------- @@ -1937,22 +2889,27 @@ CREATE TABLE `biz_protocol_sample` ( -- ---------------------------- BEGIN; INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('038BA2F5FA604AB8AC7249BF4AB9AC52', '97D4A2E3735646AABCE66FA5B620949A', 'b3000000000000000000000000000001', '031ECCDC4F6D4314AD409A93E93CEBA3', 'ZKZX34000622', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 30000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('078FC4C88FC84BD8AEAAB76967962EAA', '05F94756C7BD4EF4AA7C4780FBF90316', 'b3000000000000000000000000000002', '00D79C01735F4CC6BAA1EBC5501527FB', 'ZKZX34000429', 309.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('09169AED0C9D4BE4AE9A5C419F3DCF0E', '00A286E19367459AB2ED7234A435E655', 'b3000000000000000000000000000002', '024DF30EC46C4C5EA4F4B96B2222A0E6', 'ZKZX34000175', 301.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:06:20', 'd3000000000000000000000000000001', '2026-05-16 20:06:20', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0EA41BBDE80B4DFBB3A8965B7220B74D', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:30', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('12C6C235054146868DB33ABA7F96F599', '1EA8A72A285340B8B5ABC1BB468FBF23', 'b3000000000000000000000000000001', '03BD4482AADE4E1EB14E234003E52443', 'ZKZX34000565', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1A0631E49D894E9BB974ACF841CE1121', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:20', 'd3000000000000000000000000000001', '2026-05-16 22:49:35', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1BA9AEBD748047B08BB9D760A8109966', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:11', 'd3000000000000000000000000000001', '2026-05-16 22:49:20', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1C847C7E8D6049DA94347D1C3485ADC5', '0DC6746855304889AD407948FBAFCF23', 'b3000000000000000000000000000002', '092EC5144FFE40B38792ECF29D49826D', 'ZKZX34000198', 290.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:41:02', 'd3000000000000000000000000000001', '2026-05-19 11:42:31', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('274BE8DAB3B74188A1FA300D949D47B3', 'E798F42A67194133B31AA42C4732CE29', 'b3000000000000000000000000000001', '0270B1F5899E45D6BABEDC142E66ACD9', 'ZKZX34000073', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 25000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:06', 'd3000000000000000000000000000001', '2026-05-16 21:11:06', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('30EE78210F564AF19DB81A5D8E6D6581', 'FE868FFDAB224609B05E5942CC6EF4E2', 'b3000000000000000000000000000001', '024DF30EC46C4C5EA4F4B96B2222A0E6', 'ZKZX34000175', 200.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:47', 'd3000000000000000000000000000001', '2026-05-16 20:15:47', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3300AB20B94B45F19B775BD94437867B', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:10', 'd3000000000000000000000000000001', '2026-05-16 22:51:09', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('351F5CBDA226419794E856C1595CFCBB', '33FCE85242EE4DCCB252B38A18E5C1B9', 'b3000000000000000000000000000001', '02AB4162D9D14F7297BCB3D37EFDF3AB', 'ZKZX34000368', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 30000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:07', 'd3000000000000000000000000000001', '2026-05-16 21:11:07', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('38AD4C4F694B434E8F7860A8B56A2805', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:11', 'd3000000000000000000000000000001', '2026-05-17 14:55:11', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('405B20AD1A044E1A926AA4092BD7540D', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000001', '06896244E77E4306A23E7D9D37B9B39F', 'ZKZX34000224', 380.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:51', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('43AE301CFB29498FA796FCDB34EC3FAF', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:11', 'd3000000000000000000000000000001', '2026-05-16 22:49:20', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('453D4D6F856445CE925330C46A1B1547', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:30', 'd3000000000000000000000000000001', '2026-05-17 14:55:11', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('45C5993B958B40EBA84F26BA574AAF67', 'F124840F339F404D9A3592F3637E550C', 'b3000000000000000000000000000001', '02AB4162D9D14F7297BCB3D37EFDF3AB', 'ZKZX34000368', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 30000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:02', 'd3000000000000000000000000000001', '2026-05-16 21:07:02', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('48520BAA230044DC89AAEA53C6096B30', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:35', 'd3000000000000000000000000000001', '2026-05-16 22:50:10', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4B34C659C47449D7A8CFEAAAFD611C61', 'D6A1714B7FAD4401B943226DA22911AD', 'b3000000000000000000000000000001', '05065B9F9628405A8CE91F6542917F8D', 'ZKZX34000490', 300.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:33', 'd3000000000000000000000000000001', '2026-05-19 11:10:33', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4EE49286D6FC423895EB587378DF6D00', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000003', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 12800.00, 10, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:10', 'd3000000000000000000000000000001', '2026-05-16 22:51:09', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50C652D4CC034FFAA89C87ECAA011E9D', 'B7B27BF0D76641008571AD4822DF80F1', NULL, NULL, NULL, NULL, NULL, 16800.00, NULL, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 18:42:03', 'd3000000000000000000000000000001', '2026-05-16 18:42:03', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50E63846F0AC49A892B21D35F9538A80', '0DC6746855304889AD407948FBAFCF23', 'b3000000000000000000000000000002', '092EC5144FFE40B38792ECF29D49826D', 'ZKZX34000198', 290.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:19', 'd3000000000000000000000000000001', '2026-05-19 11:40:45', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('55C6108841DB4A988221E59C53041EE2', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 18, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:20', 'd3000000000000000000000000000001', '2026-05-16 22:49:35', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('562B945C397B419C89C08689696A1664', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:41:41', 'd3000000000000000000000000000001', '2026-05-16 22:48:58', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('57D8332859D94AE28D5228115A25F42C', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000003', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 12800.00, 10, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:30', 1); @@ -1960,15 +2917,28 @@ INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_ INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('63B7D02489C64D52828A904C572EE60B', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:48:58', 'd3000000000000000000000000000001', '2026-05-16 22:49:11', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('677F8B0D13EE4E14AE0562F5B3B24C6B', '1EA8A72A285340B8B5ABC1BB468FBF23', 'b3000000000000000000000000000001', '04CA96B88149442EA2FC157F1EB7E0E9', 'ZKZX34000074', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('74A495990E3A4555B90953BED1EFF822', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:48:58', 'd3000000000000000000000000000001', '2026-05-16 22:49:11', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('77A4861598434AA3B5048832EFEDE329', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000002', '057D766442544DC297803CC1C65FAF7A', 'ZKZX34000113', 2087.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:51', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('84A5CB93485549D8836A0B96E82F4A45', '0DC6746855304889AD407948FBAFCF23', 'b3000000000000000000000000000002', '092EC5144FFE40B38792ECF29D49826D', 'ZKZX34000198', 290.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:42:31', 'd3000000000000000000000000000001', '2026-05-19 11:42:31', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8CAA0C649BA047FAB7152FE2A43DF400', '00A286E19367459AB2ED7234A435E655', 'b3000000000000000000000000000001', '031ECCDC4F6D4314AD409A93E93CEBA3', 'ZKZX34000622', 200.0000, '225dab01-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:06:20', 'd3000000000000000000000000000001', '2026-05-16 20:06:20', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('96296C40019E45A1A44CEC634D6DED32', '0E748087F14C4AA4AB977DE1BBE90367', 'b3000000000000000000000000000001', '05065B9F9628405A8CE91F6542917F8D', 'ZKZX34000490', 300.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:16:29', 'd3000000000000000000000000000001', '2026-05-19 11:16:29', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9C4A24F4D62E44309D99253F278931D4', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000002', '057D766442544DC297803CC1C65FAF7A', 'ZKZX34000113', 2087.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:37', 'd3000000000000000000000000000001', '2026-05-17 21:45:00', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9DBC0D45EED14CB498F12AE54017216E', '147DB9B384E545A29013FC36F690A6C1', 'b3000000000000000000000000000001', '05065B9F9628405A8CE91F6542917F8D', 'ZKZX34000490', 300.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:49', 'd3000000000000000000000000000001', '2026-05-19 11:10:49', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9DD1BC7C188446E9892D00DD4773A3EB', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000003', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 12800.00, 10, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:30', 'd3000000000000000000000000000001', '2026-05-17 14:55:11', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A14FCA275E624D2C9310FF99562752A6', '7ED7E888C1564FB895CB0A7C112B6139', 'b3000000000000000000000000000001', '024DF30EC46C4C5EA4F4B96B2222A0E6', 'ZKZX34000175', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 25000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:04', 'd3000000000000000000000000000001', '2026-05-16 21:11:04', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('ADCD560F805B468086416CE04E7BD68C', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000001', '090C6488382B4E0DB3A94E8C553E9ECE', 'ZKZX34000577', 305.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:41:41', 'd3000000000000000000000000000001', '2026-05-16 22:48:58', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B4B32A87487944E99006A1661280AF04', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000001', '06896244E77E4306A23E7D9D37B9B39F', 'ZKZX34000224', 380.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:00', 'd3000000000000000000000000000001', '2026-05-17 21:46:50', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B8CD10598E884674A36CBEB0D2968D04', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000003', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 12800.00, 10, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:11', 'd3000000000000000000000000000001', '2026-05-17 14:55:11', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BF7FF5D5269B4CCE9955180D43F10633', '0DC6746855304889AD407948FBAFCF23', 'b3000000000000000000000000000002', '092EC5144FFE40B38792ECF29D49826D', 'ZKZX34000198', 290.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:45', 'd3000000000000000000000000000001', '2026-05-19 11:41:02', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C3491D87EE584F16A374B8152116A377', '1EA8A72A285340B8B5ABC1BB468FBF23', 'b3000000000000000000000000000001', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C4120ADA058E4BA8853B1ED831CCADDC', '9A03618CE61A472988EDC57C8D5C6E22', 'b3000000000000000000000000000001', '03BD4482AADE4E1EB14E234003E52443', 'ZKZX34000565', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CC3E30DE34E24AFCAD39B7C55EF5FCB7', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000002', '057D766442544DC297803CC1C65FAF7A', 'ZKZX34000113', 2087.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:50', 'd3000000000000000000000000000001', '2026-05-17 21:50:51', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CD12CB08334B4ADBA648523969BB3901', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000002', '057D766442544DC297803CC1C65FAF7A', 'ZKZX34000113', 2087.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:00', 'd3000000000000000000000000000001', '2026-05-17 21:46:50', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('DE4A2CFE020F4BB3AD829373241D68F1', '485BACE9A21C4D7FA23EE919C15EDDF0', 'b3000000000000000000000000000003', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 302.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 12800.00, 10, NULL, NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:35', 'd3000000000000000000000000000001', '2026-05-16 22:50:10', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E8EA6BDC4FC54C419F5EBF460BB02E2F', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000001', '06896244E77E4306A23E7D9D37B9B39F', 'ZKZX34000224', 380.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:37', 'd3000000000000000000000000000001', '2026-05-17 21:45:00', 1); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EAC518BE56A142A3AAB84CDDB5624BC9', '9A03618CE61A472988EDC57C8D5C6E22', 'b3000000000000000000000000000001', '047EE3F43F4C4C509682FB20599591B3', 'ZKZX34000203', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EDD656B24E2C4D29A40D4E45EFFE17C2', '05F94756C7BD4EF4AA7C4780FBF90316', 'b3000000000000000000000000000001', '010610AEA73646428DB971F020270871', 'ZKZX34000014', 209.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F21909CF385E4312B24A876695A7B368', '5BFDF94E590E4022BC1F4E84F3430F85', 'b3000000000000000000000000000001', '06896244E77E4306A23E7D9D37B9B39F', 'ZKZX34000224', 380.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 19800.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:50', 'd3000000000000000000000000000001', '2026-05-17 21:50:51', 1); +INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F31C1DCDBABF47B8A6E2FDC101CB33D3', '14B784B28B1441C4B4340D269C96C9DF', 'b3000000000000000000000000000001', '05065B9F9628405A8CE91F6542917F8D', 'ZKZX34000490', 300.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', NULL, 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:12:28', 'd3000000000000000000000000000001', '2026-05-19 11:12:28', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F7C18FE939354DF9A4AE8B228C0EAE5C', '9A03618CE61A472988EDC57C8D5C6E22', 'b3000000000000000000000000000001', '04CA96B88149442EA2FC157F1EB7E0E9', 'ZKZX34000074', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FC41BB717EB14CC3A50A55AC21599BD7', 'FE868FFDAB224609B05E5942CC6EF4E2', 'b3000000000000000000000000000002', '04CA96B88149442EA2FC157F1EB7E0E9', 'ZKZX34000074', 300.0000, '225dab01-4e72-11f1-9f47-00163e3bdd96', 16800.00, 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 20:15:47', 'd3000000000000000000000000000001', '2026-05-16 20:15:47', 0); INSERT INTO `biz_protocol_sample` (`id`, `collection_protocol_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `price`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FCCC31A310D74EE2996BD8B97C4193E1', 'B7AD6D4258344F46BA91CFD6A751C0A7', 'b3000000000000000000000000000001', '031ECCDC4F6D4314AD409A93E93CEBA3', 'ZKZX34000622', 100.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 30000.00, 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:03', 'd3000000000000000000000000000001', '2026-05-16 21:07:03', 0); @@ -2007,34 +2977,52 @@ CREATE TABLE `biz_protocol_sample_transport` ( -- Records of biz_protocol_sample_transport -- ---------------------------- BEGIN; +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('004899B2EF3F4504833B61FD66B1988B', '0DC6746855304889AD407948FBAFCF23', 'BF7FF5D5269B4CCE9955180D43F10633', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF23990123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 27.00, '2026-05-20 11:39:26', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:45', 'd3000000000000000000000000000001', '2026-05-19 11:41:03', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('06A5F0AB6FEC41E2B23DA39B3A90E2DC', '485BACE9A21C4D7FA23EE919C15EDDF0', 'B8CD10598E884674A36CBEB0D2968D04', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('08ADA30E6E0145B494F29366281F534F', '7ED7E888C1564FB895CB0A7C112B6139', 'A14FCA275E624D2C9310FF99562752A6', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000000', '2237b211-4e72-11f1-9f47-00163e3bdd96', 25.00, '2026-05-20 10:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:04', 'd3000000000000000000000000000001', '2026-05-16 21:11:04', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0B07768722384F74B0147EC012B6F78C', '485BACE9A21C4D7FA23EE919C15EDDF0', '3300AB20B94B45F19B775BD94437867B', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:10', 'd3000000000000000000000000000001', '2026-05-16 22:51:09', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('12B46CF075CB42F09580ED4DFE08F2EE', '05F94756C7BD4EF4AA7C4780FBF90316', '078FC4C88FC84BD8AEAAB76967962EAA', 'kdys', '22655f5a-4e72-11f1-9f47-00163e3bdd96', 'ZTO00123123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 23.00, '2026-05-18 21:20:15', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('16CBFE08C43B47579E8358AFA66B56E7', '97D4A2E3735646AABCE66FA5B620949A', '038BA2F5FA604AB8AC7249BF4AB9AC52', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-20 14:00:00', '李携带员', '13900139001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:09', 'd3000000000000000000000000000001', '2026-05-16 21:11:09', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('18D24378F0F34D5880E322E4086191CE', '485BACE9A21C4D7FA23EE919C15EDDF0', '43AE301CFB29498FA796FCDB34EC3FAF', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:11', 'd3000000000000000000000000000001', '2026-05-16 22:49:20', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1D7AB21613B44FD8A40EB2C0F100E675', '05F94756C7BD4EF4AA7C4780FBF90316', 'EDD656B24E2C4D29A40D4E45EFFE17C2', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF0022123123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 25.00, '2026-05-18 21:19:47', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:21:11', 'd3000000000000000000000000000001', '2026-05-17 21:21:11', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2F2FABAD329F41709E68474D7E0D04AD', '9A03618CE61A472988EDC57C8D5C6E22', 'F7C18FE939354DF9A4AE8B228C0EAE5C', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000002', '2237b211-4e72-11f1-9f47-00163e3bdd96', 25.00, '2026-05-22 10:00:00', NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('31449EAE7B094080904C79AB68CAD47A', '1EA8A72A285340B8B5ABC1BB468FBF23', 'C3491D87EE584F16A374B8152116A377', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000001', NULL, 25.00, '2026-05-22 10:00:00', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('31A6ED14D1E74ACD86CE6318636ADC5F', '9A03618CE61A472988EDC57C8D5C6E22', 'C4120ADA058E4BA8853B1ED831CCADDC', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000000', '2237b211-4e72-11f1-9f47-00163e3bdd96', 25.00, '2026-05-22 10:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('35B7F4E95DE940C083C1655A2716C66C', '485BACE9A21C4D7FA23EE919C15EDDF0', '55C6108841DB4A988221E59C53041EE2', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:20', 'd3000000000000000000000000000001', '2026-05-16 22:49:35', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3A877990BFC24CB1A0D9A63266FF48DA', '147DB9B384E545A29013FC36F690A6C1', '9DBC0D45EED14CB498F12AE54017216E', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF12312414124', '2237b211-4e72-11f1-9f47-00163e3bdd96', 28.00, '2026-05-20 00:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:49', 'd3000000000000000000000000000001', '2026-05-19 11:10:49', 0); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('40704CE7FC984A359BEA5D2E29F0BF1C', '0DC6746855304889AD407948FBAFCF23', '1C847C7E8D6049DA94347D1C3485ADC5', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF23990123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 27.00, '2026-05-20 11:39:26', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:41:03', 'd3000000000000000000000000000001', '2026-05-19 11:42:32', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4C78D7758D34404BA63E5FA00F0F2457', '5BFDF94E590E4022BC1F4E84F3430F85', 'F21909CF385E4312B24A876695A7B368', 'kdys', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 21:00:00', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4DA5964BBEBB4CF9B1A77B2674A0FD41', '5BFDF94E590E4022BC1F4E84F3430F85', '77A4861598434AA3B5048832EFEDE329', 'ryxd', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 19:00:00', '张三', '13900223311', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('55FD25EBD0C3406F8BFBF5A2032B31AC', '33FCE85242EE4DCCB252B38A18E5C1B9', '351F5CBDA226419794E856C1595CFCBB', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000000', '2237b211-4e72-11f1-9f47-00163e3bdd96', 25.00, '2026-05-20 14:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:07', 'd3000000000000000000000000000001', '2026-05-16 21:11:07', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('58104BF5ECC74C49BD87D1443BCCE641', '1EA8A72A285340B8B5ABC1BB468FBF23', '12C6C235054146868DB33ABA7F96F599', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000000', NULL, 25.00, '2026-05-22 10:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('587DD6CD908D47C39A7F60A746536546', 'E798F42A67194133B31AA42C4732CE29', '274BE8DAB3B74188A1FA300D949D47B3', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-20 10:00:00', '李携带员', '13900139001', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:06', 'd3000000000000000000000000000001', '2026-05-16 21:11:06', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5914757BE6204DD4A7AB1FB9EBA5C486', '485BACE9A21C4D7FA23EE919C15EDDF0', '4EE49286D6FC423895EB587378DF6D00', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:50:10', 'd3000000000000000000000000000001', '2026-05-16 22:51:09', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5973BEE4689246DB98E60C2987229565', '485BACE9A21C4D7FA23EE919C15EDDF0', '63B7D02489C64D52828A904C572EE60B', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:48:58', 'd3000000000000000000000000000001', '2026-05-16 22:49:11', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6A7368E2A4804419A8C4A88F8CC0AD6F', '5BFDF94E590E4022BC1F4E84F3430F85', '9C4A24F4D62E44309D99253F278931D4', 'kdys', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 21:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6C5803D73A3F491DBE638659B8604081', '485BACE9A21C4D7FA23EE919C15EDDF0', '9DD1BC7C188446E9892D00DD4773A3EB', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:31', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6DD9EC9BA3174190960626374DE59EE2', '5BFDF94E590E4022BC1F4E84F3430F85', 'E8EA6BDC4FC54C419F5EBF460BB02E2F', 'kdys', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 21:00:00', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:43:38', 'd3000000000000000000000000000001', '2026-05-17 21:45:01', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('751C8EE89AC24D069D25B0DEF5F90396', 'F124840F339F404D9A3592F3637E550C', '45C5993B958B40EBA84F26BA574AAF67', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000000', NULL, 25.00, '2026-05-20 14:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:02', 'd3000000000000000000000000000001', '2026-05-16 21:07:02', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7B5FDF74E04A47ECB2272B082AFB5D92', '485BACE9A21C4D7FA23EE919C15EDDF0', '453D4D6F856445CE925330C46A1B1547', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 12:35:31', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('7C4722289BE547F586D7AA7882844CDA', 'D6A1714B7FAD4401B943226DA22911AD', '4B34C659C47449D7A8CFEAAAFD611C61', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF12312414124', '2237b211-4e72-11f1-9f47-00163e3bdd96', 28.00, '2026-05-20 00:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:10:33', 'd3000000000000000000000000000001', '2026-05-19 11:10:33', 0); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80988BA098924249BAC82A3CB72420C1', '5BFDF94E590E4022BC1F4E84F3430F85', 'B4B32A87487944E99006A1661280AF04', 'kdys', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 21:00:00', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:50', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('878B237597644387AB418ACFE56EF51B', '0DC6746855304889AD407948FBAFCF23', '50E63846F0AC49A892B21D35F9538A80', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF23990123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 27.00, '2026-05-20 11:39:26', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:40:19', 'd3000000000000000000000000000001', '2026-05-19 11:40:45', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8B9D8AEA1BDC4B8BBF20290B528E979A', '485BACE9A21C4D7FA23EE919C15EDDF0', 'ADCD560F805B468086416CE04E7BD68C', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:41:41', 'd3000000000000000000000000000001', '2026-05-16 22:48:58', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8BB11C7C569342378100550AB14F0516', '485BACE9A21C4D7FA23EE919C15EDDF0', 'DE4A2CFE020F4BB3AD829373241D68F1', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:35', 'd3000000000000000000000000000001', '2026-05-16 22:50:10', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8CD827E10838441191B6C4B22E4790C8', '0DC6746855304889AD407948FBAFCF23', '84A5CB93485549D8836A0B96E82F4A45', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF23990123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 27.00, '2026-05-20 11:39:26', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:42:32', 'd3000000000000000000000000000001', '2026-05-19 11:42:32', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8F1D5F2CB6EF475FB11A1A0E643C7268', '485BACE9A21C4D7FA23EE919C15EDDF0', '57D8332859D94AE28D5228115A25F42C', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('909F253BBEA24618A22D51FA2FA4965F', '485BACE9A21C4D7FA23EE919C15EDDF0', '1A0631E49D894E9BB974ACF841CE1121', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:20', 'd3000000000000000000000000000001', '2026-05-16 22:49:35', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('986DEC2A12A44609AAE42DD39C3731FA', '14B784B28B1441C4B4340D269C96C9DF', 'F31C1DCDBABF47B8A6E2FDC101CB33D3', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF12312414124', '2237b211-4e72-11f1-9f47-00163e3bdd96', 28.00, '2026-05-20 00:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:12:28', 'd3000000000000000000000000000001', '2026-05-19 11:12:28', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('99DC0EF805584F3EA5D83681E74B800E', '1EA8A72A285340B8B5ABC1BB468FBF23', '677F8B0D13EE4E14AE0562F5B3B24C6B', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000002', NULL, 25.00, '2026-05-22 10:00:00', NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:05', 'd3000000000000000000000000000001', '2026-05-16 21:07:05', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A9CE9D69AFF948CCAA7E144CD9052E4B', 'B7AD6D4258344F46BA91CFD6A751C0A7', 'FCCC31A310D74EE2996BD8B97C4193E1', 'ryxd', NULL, NULL, NULL, NULL, '2026-05-20 14:00:00', '张三', '13800138000', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:07:03', 'd3000000000000000000000000000001', '2026-05-16 21:07:03', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B14C2180B21B4C8AB2A935B5A47B322E', '9A03618CE61A472988EDC57C8D5C6E22', 'EAC518BE56A142A3AAB84CDDB5624BC9', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF1000000001', '2237b211-4e72-11f1-9f47-00163e3bdd96', 25.00, '2026-05-22 10:00:00', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 21:11:11', 'd3000000000000000000000000000001', '2026-05-16 21:11:11', 0); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B357764634ED4A15A2352A2606DDB8B1', '5BFDF94E590E4022BC1F4E84F3430F85', '405B20AD1A044E1A926AA4092BD7540D', 'kdys', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 21:00:00', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:50:52', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B9E7B442CA5541D1AD3C427A0812DEA3', '485BACE9A21C4D7FA23EE919C15EDDF0', '562B945C397B419C89C08689696A1664', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:41:41', 'd3000000000000000000000000000001', '2026-05-16 22:48:58', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('CE871FC99039429F95DA3987B63C5E6E', '5BFDF94E590E4022BC1F4E84F3430F85', 'CC3E30DE34E24AFCAD39B7C55EF5FCB7', 'ryxd', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 19:00:00', '张三', '13900223311', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:46:51', 'd3000000000000000000000000000001', '2026-05-17 21:50:52', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D77B3CD7DA184251A4BE8C944823E279', '485BACE9A21C4D7FA23EE919C15EDDF0', '74A495990E3A4555B90953BED1EFF822', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:48:58', 'd3000000000000000000000000000001', '2026-05-16 22:49:11', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D7BC47B792834636915957052E99C929', '485BACE9A21C4D7FA23EE919C15EDDF0', '1BA9AEBD748047B08BB9D760A8109966', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'sf9912123123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 13.40, '2026-05-16 22:39:44', NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:11', 'd3000000000000000000000000000001', '2026-05-16 22:49:20', 1); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E695942304E848339DB5E0662E86A561', '0E748087F14C4AA4AB977DE1BBE90367', '96296C40019E45A1A44CEC634D6DED32', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF12312414124', '2237b211-4e72-11f1-9f47-00163e3bdd96', 28.00, '2026-05-20 00:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:16:29', 'd3000000000000000000000000000001', '2026-05-19 11:16:29', 0); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EC31CE9089A84DD4940EE8E202F01659', '485BACE9A21C4D7FA23EE919C15EDDF0', '38AD4C4F694B434E8F7860A8B56A2805', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 14:55:12', 'd3000000000000000000000000000001', '2026-05-17 14:55:12', 0); +INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F0E49986A92246B2AEBFC274DB9825E6', '5BFDF94E590E4022BC1F4E84F3430F85', 'CD12CB08334B4ADBA648523969BB3901', 'ryxd', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 19:00:00', '张三', '13900223311', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 21:45:01', 'd3000000000000000000000000000001', '2026-05-17 21:46:50', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F72D9FBBA3C64A8C818753563E9DE0D2', '485BACE9A21C4D7FA23EE919C15EDDF0', '48520BAA230044DC89AAEA53C6096B30', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:49:35', 'd3000000000000000000000000000001', '2026-05-16 22:50:10', 1); INSERT INTO `biz_protocol_sample_transport` (`id`, `collection_protocol_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('FB863ACF67E44D1398C9B12CEBD503D1', '485BACE9A21C4D7FA23EE919C15EDDF0', '0EA41BBDE80B4DFBB3A8965B7220B74D', 'ryxd', NULL, NULL, '2237b211-4e72-11f1-9f47-00163e3bdd96', NULL, '2026-05-16 22:40:01', '王鸥', '13899221122', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-16 22:51:09', 'd3000000000000000000000000000001', '2026-05-17 12:35:31', 1); COMMIT; @@ -2067,6 +3055,53 @@ CREATE TABLE `biz_protocol_storage_cert` ( BEGIN; COMMIT; +-- ---------------------------- +-- Table structure for biz_qc_item_param +-- ---------------------------- +DROP TABLE IF EXISTS `biz_qc_item_param`; +CREATE TABLE `biz_qc_item_param` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `item_source` varchar(16) NOT NULL COMMENT 'lab实验室 third_party第三方', + `item_id` varchar(64) NOT NULL COMMENT '检测项目ID', + `param_name` varchar(200) NOT NULL COMMENT '参数名称', + `param_code` varchar(64) NOT NULL COMMENT '参数编码', + `param_unit` varchar(32) DEFAULT NULL COMMENT '单位', + `param_type` varchar(16) NOT NULL DEFAULT 'text' COMMENT 'number/text/select', + `required_flag` char(1) NOT NULL DEFAULT '0' COMMENT '1必填 0非必填', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_qc_param_item` (`item_source`,`item_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='检测项目参数模板'; + +-- ---------------------------- +-- Records of biz_qc_item_param +-- ---------------------------- +BEGIN; +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_001', 'lab', 'qc_lti_001', '细胞总数', 'total_count', '×10⁶', 'number', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_002', 'lab', 'qc_lti_001', '存活率', 'viability', '%', 'number', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_003', 'lab', 'qc_lti_001', '检测方法', 'method', NULL, 'text', '0', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_004', 'lab', 'qc_lti_004', '内毒素含量', 'endotoxin', 'EU/mL', 'number', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_005', 'lab', 'qc_lti_004', '限值标准', 'limit_std', 'EU/mL', 'number', '0', 'zkxw', 2, '根据剂型不同限值不同', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_006', 'lab', 'qc_lti_004', '判定结果', 'result', NULL, 'text', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_007', 'lab', 'qc_lti_005', 'CD34阳性率', 'cd34_pos', '%', 'number', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_008', 'lab', 'qc_lti_005', 'CD45阳性率', 'cd45_pos', '%', 'number', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_009', 'lab', 'qc_lti_005', 'CD73阳性率', 'cd73_pos', '%', 'number', '0', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_010', 'third_party', 'qc_tpi_001', '细胞活性率', 'activity_rate', '%', 'number', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_011', 'third_party', 'qc_tpi_001', '检测依据', 'standard', NULL, 'text', '0', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_012', 'third_party', 'qc_tpi_004', '铅(Pb)', 'pb', 'mg/kg', 'number', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_013', 'third_party', 'qc_tpi_004', '镉(Cd)', 'cd', 'mg/kg', 'number', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_014', 'third_party', 'qc_tpi_004', '汞(Hg)', 'hg', 'mg/kg', 'number', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_item_param` (`id`, `item_source`, `item_id`, `param_name`, `param_code`, `param_unit`, `param_type`, `required_flag`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_ip_015', 'third_party', 'qc_tpi_004', '砷(As)', 'as', 'mg/kg', 'number', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +COMMIT; + -- ---------------------------- -- Table structure for biz_qc_lab_test_item -- ---------------------------- @@ -2094,6 +3129,14 @@ CREATE TABLE `biz_qc_lab_test_item` ( -- Records of biz_qc_lab_test_item -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_001', 'LAB001', '细胞计数与活力检测', '使用台盼蓝排斥法或自动细胞计数仪,检测样本中细胞总数及存活率', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_002', 'LAB002', '支原体检测(培养法)', '采用支原体培养基法,观察14天,检测细胞培养物中是否污染支原体', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_003', 'LAB003', '无菌检测(直接接种法)', '将样本分别接种于需氧/厌氧培养基,观察14天,判断是否无菌', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_004', 'LAB004', '内毒素检测(凝胶法)', '使用鲎试剂凝胶法测定样本中的细菌内毒素含量', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_005', 'LAB005', '细胞表型检测(CD标记)', '采用流式细胞术检测细胞表面标记物,如CD34、CD45、CD73、CD90等', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_006', 'LAB006', '细胞分化能力检测', '诱导分化后通过染色或流式分析,验证干细胞的成骨/成脂/成软骨分化能力', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_007', 'LAB007', '病原微生物快速筛查', '采用PCR/RT-PCR方法快速筛查乙肝、丙肝、HIV、梅毒、巨细胞病毒等', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_lab_test_item` (`id`, `item_code`, `item_name`, `description`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_lti_008', 'LAB008', '渗透压检测', '使用渗透压仪测定细胞冻存液或培养基的渗透压值', '0', 'zkxw', 8, '暂未开展,保留项目', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); COMMIT; -- ---------------------------- @@ -2112,6 +3155,7 @@ CREATE TABLE `biz_qc_task` ( `company_name` varchar(200) DEFAULT NULL COMMENT '第三方公司名', `fee_amount` decimal(18,2) DEFAULT NULL COMMENT '费用快照', `task_status` varchar(16) NOT NULL DEFAULT 'dzx' COMMENT 'dzx待执行 jxz进行中 ywc已完成', + `conclusion` varchar(16) DEFAULT NULL COMMENT '检测结论 tg通过 btg不通过', `third_party_attachments` varchar(4000) DEFAULT NULL COMMENT '第三方材料URL逗号分隔', `completed_time` datetime DEFAULT NULL COMMENT '完成时间', `completed_by` varchar(64) DEFAULT NULL COMMENT '完成人', @@ -2133,6 +3177,41 @@ CREATE TABLE `biz_qc_task` ( -- Records of biz_qc_task -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_task` (`id`, `work_order_id`, `task_no`, `task_type`, `source_line_id`, `item_code`, `item_name`, `company_id`, `company_name`, `fee_amount`, `task_status`, `third_party_attachments`, `completed_time`, `completed_by`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('21A46EFD58EB4203901C2781DE7E2D68', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'ZJ202605170001-02', 'sysz', '9BA426E25B874BF4827F70FD2B3453F0', 'LAB001', '细胞计数与活力检测', NULL, NULL, NULL, 'jxz', NULL, NULL, NULL, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:44', 0); +INSERT INTO `biz_qc_task` (`id`, `work_order_id`, `task_no`, `task_type`, `source_line_id`, `item_code`, `item_name`, `company_id`, `company_name`, `fee_amount`, `task_status`, `third_party_attachments`, `completed_time`, `completed_by`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('40F61BAA07F84DF39EFB1CDDD33CCCD2', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'ZJ202605170001-04', 'dsfjc', '0D438C854BFA412C9843B7379D7C9E2A', 'DSF002-001', '重金属含量检测(铅镉汞砷)', 'qc_tpc_002', '上海谱尼测试集团合肥分公司', 2000.00, 'dzx', NULL, NULL, NULL, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); +INSERT INTO `biz_qc_task` (`id`, `work_order_id`, `task_no`, `task_type`, `source_line_id`, `item_code`, `item_name`, `company_id`, `company_name`, `fee_amount`, `task_status`, `third_party_attachments`, `completed_time`, `completed_by`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C8B0364189F24042880F846383B931B5', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'ZJ202605170001-01', 'sysz', 'C82C1298C0F64D65A88E31F2BF3E26C7', 'LAB002', '支原体检测(培养法)', NULL, NULL, NULL, 'jxz', NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:49', 0); +INSERT INTO `biz_qc_task` (`id`, `work_order_id`, `task_no`, `task_type`, `source_line_id`, `item_code`, `item_name`, `company_id`, `company_name`, `fee_amount`, `task_status`, `third_party_attachments`, `completed_time`, `completed_by`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D70263B9FE39426B891946AAA12F7E21', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'ZJ202605170001-03', 'dsfjc', '4AB18B6C30244D3EBBC28F1E1A59FD67', 'DSF001-001', '细胞活性检测', 'qc_tpc_001', '安徽中检技术服务有限公司', 800.00, 'dzx', NULL, NULL, NULL, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_qc_task_result +-- ---------------------------- +DROP TABLE IF EXISTS `biz_qc_task_result`; +CREATE TABLE `biz_qc_task_result` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `task_id` varchar(64) NOT NULL COMMENT '质检任务ID', + `param_id` varchar(64) DEFAULT NULL COMMENT '参数模板ID', + `param_name` varchar(200) NOT NULL COMMENT '参数名快照', + `param_code` varchar(64) DEFAULT NULL COMMENT '参数编码快照', + `param_unit` varchar(32) DEFAULT NULL COMMENT '单位快照', + `param_type` varchar(16) NOT NULL DEFAULT 'text' COMMENT '类型快照', + `param_value` varchar(500) DEFAULT NULL COMMENT '填写值', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_qc_result_task` (`task_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检任务检测结果'; + +-- ---------------------------- +-- Records of biz_qc_task_result +-- ---------------------------- +BEGIN; COMMIT; -- ---------------------------- @@ -2146,6 +3225,10 @@ CREATE TABLE `biz_qc_third_party_company` ( `contact_name` varchar(100) DEFAULT NULL COMMENT '联系人', `contact_phone` varchar(32) DEFAULT NULL COMMENT '联系电话', `address` varchar(500) DEFAULT NULL COMMENT '地址', + `invoice_title` varchar(200) DEFAULT NULL COMMENT '发票抬头', + `tax_id` varchar(64) DEFAULT NULL COMMENT '纳税人识别号', + `bank_name` varchar(200) DEFAULT NULL COMMENT '开户银行', + `bank_account` varchar(64) DEFAULT NULL COMMENT '银行账号', `status` char(1) NOT NULL DEFAULT '1' COMMENT '1启用 0停用', `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', `order_num` int(11) DEFAULT NULL COMMENT '排序号', @@ -2164,6 +3247,12 @@ CREATE TABLE `biz_qc_third_party_company` ( -- Records of biz_qc_third_party_company -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_third_party_company` (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, `invoice_title`, `tax_id`, `bank_name`, `bank_account`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpc_001', 'DSF001', '安徽中检技术服务有限公司', '张建国', '13912345601', '合肥市高新区望江西路800号A栋3楼', '安徽中检技术服务有限公司', '91340100MA2N0XYZ01', '中国建设银行合肥高新区支行', '34001688608053001234', '1', 'zkxw', 1, '长期合作方,具备CMA/CNAS资质', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_company` (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, `invoice_title`, `tax_id`, `bank_name`, `bank_account`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpc_002', 'DSF002', '上海谱尼测试集团合肥分公司', '李明华', '13912345602', '合肥市包河区繁华大道6588号', '上海谱尼测试集团有限公司', '9131011578056XYZ02', '中国工商银行上海浦东支行', '10012029192001234567', '1', 'zkxw', 2, '可做微生物、重金属检测', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_company` (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, `invoice_title`, `tax_id`, `bank_name`, `bank_account`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpc_003', 'DSF003', '华测检测认证集团股份有限公司', '王晓燕', '13912345603', '合肥市蜀山区长江西路1899号', '华测检测认证集团股份有限公司', '9144030077163XYZ03', '招商银行深圳福田支行', '755916238910001', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_company` (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, `invoice_title`, `tax_id`, `bank_name`, `bank_account`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpc_004', 'DSF004', '中检集团安徽有限公司', '赵伟', '13912345604', '合肥市经开区翠微路12号', '中检集团安徽有限公司', '9134010068888XYZ04', '中国银行合肥政务区支行', '18723456789001', '1', 'zkxw', 4, '综合性检测机构', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_company` (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, `invoice_title`, `tax_id`, `bank_name`, `bank_account`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpc_005', 'DSF005', '安徽国科检测科技有限公司', '刘芳', '13912345605', '合肥市庐阳区濉溪路310号', '安徽国科检测科技有限公司', '91340100MA2UWEXYZ5', '中国农业银行合肥庐阳支行', '12260101040012345', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_company` (`id`, `company_code`, `company_name`, `contact_name`, `contact_phone`, `address`, `invoice_title`, `tax_id`, `bank_name`, `bank_account`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpc_006', 'DSF006', '合肥微谱分析检测有限公司', '陈志强', '13912345606', '合肥市高新区科学大道118号', '合肥微谱分析检测有限公司', '91340100MA2N0KXYZ6', '交通银行合肥高新区支行', '341201000018012345678', '0', 'zkxw', 6, '已暂停合作,状态停用', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); COMMIT; -- ---------------------------- @@ -2194,6 +3283,20 @@ CREATE TABLE `biz_qc_third_party_item` ( -- Records of biz_qc_third_party_item -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_001', 'qc_tpc_001', 'DSF001-001', '细胞活性检测', 800.00, '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_002', 'qc_tpc_001', 'DSF001-002', '微生物限度检查', 1200.00, '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_003', 'qc_tpc_001', 'DSF001-003', '内毒素检测(鲎试剂法)', 1500.00, '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_004', 'qc_tpc_002', 'DSF002-001', '重金属含量检测(铅镉汞砷)', 2000.00, '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_005', 'qc_tpc_002', 'DSF002-002', '细胞表型流式分析', 2500.00, '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_006', 'qc_tpc_003', 'DSF003-001', '支原体检测(PCR法)', 600.00, '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_007', 'qc_tpc_003', 'DSF003-002', '无菌检测', 900.00, '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_008', 'qc_tpc_003', 'DSF003-003', '细胞鉴别(STR图谱)', 1800.00, '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_009', 'qc_tpc_004', 'DSF004-001', '乙肝五项检测', 500.00, '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_010', 'qc_tpc_004', 'DSF004-002', 'HIV/HCV/梅毒联合筛查', 800.00, '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_011', 'qc_tpc_005', 'DSF005-001', '细胞计数与存活率', 300.00, '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_012', 'qc_tpc_005', 'DSF005-002', '病毒检测(qPCR法)', 1600.00, '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_013', 'qc_tpc_005', 'DSF005-003', '染色体核型分析', 2200.00, '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); +INSERT INTO `biz_qc_third_party_item` (`id`, `company_id`, `item_code`, `item_name`, `fee_amount`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('qc_tpi_014', 'qc_tpc_006', 'DSF006-001', '蛋白质含量测定', 700.00, '0', 'zkxw', 1, '公司已暂停合作', NULL, '', '2026-05-17 22:24:13', NULL, '2026-05-17 22:24:13', 0); COMMIT; -- ---------------------------- @@ -2208,6 +3311,8 @@ CREATE TABLE `biz_qc_work_order` ( `collection_protocol_id` varchar(64) NOT NULL COMMENT '协议单ID', `protocol_no` varchar(64) DEFAULT NULL COMMENT '协议号快照', `sample_code` varchar(32) DEFAULT NULL COMMENT '样本编码快照', + `reception_source` varchar(20) NOT NULL DEFAULT 'cell_storage' COMMENT '来源类型 cell_storage/research_donation', + `qc_biz_type` varchar(20) NOT NULL DEFAULT 'inbound' COMMENT '质检业务类型 inbound入库质检 outbound出库质检', `work_order_status` varchar(16) NOT NULL DEFAULT 'dpz' COMMENT 'dpz待配置 ypz已配置 ywc已完成', `has_lab` char(1) NOT NULL DEFAULT '0' COMMENT '含实验室自检', `has_third_party` char(1) NOT NULL DEFAULT '0' COMMENT '含第三方检测', @@ -2232,6 +3337,8 @@ CREATE TABLE `biz_qc_work_order` ( -- Records of biz_qc_work_order -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_work_order` (`id`, `work_order_no`, `reception_id`, `protocol_sample_id`, `collection_protocol_id`, `protocol_no`, `sample_code`, `reception_source`, `work_order_status`, `has_lab`, `has_third_party`, `configured_time`, `configured_by`, `third_party_fee_total`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2C5557BD7AA847B7817481B804F5D53D', 'ZJ202605170002', '399068547D164EA9A0BCAA70FB4E2792', '405B20AD1A044E1A926AA4092BD7540D', '5BFDF94E590E4022BC1F4E84F3430F85', 'ZKZX34000074', 'ZKZX34000224', 'cell_storage', 'dpz', '0', '0', NULL, NULL, NULL, 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_qc_work_order` (`id`, `work_order_no`, `reception_id`, `protocol_sample_id`, `collection_protocol_id`, `protocol_no`, `sample_code`, `reception_source`, `work_order_status`, `has_lab`, `has_third_party`, `configured_time`, `configured_by`, `third_party_fee_total`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('E8FFC3CE0FBF450181E922D92DFC0BA4', 'ZJ202605170001', 'F52757E85AC24583AB784D08E435B2CF', '77A4861598434AA3B5048832EFEDE329', '5BFDF94E590E4022BC1F4E84F3430F85', 'ZKZX34000074', 'ZKZX34000113', 'cell_storage', 'ypz', '1', '1', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', 2800.00, 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); COMMIT; -- ---------------------------- @@ -2261,6 +3368,8 @@ CREATE TABLE `biz_qc_work_order_lab_item` ( -- Records of biz_qc_work_order_lab_item -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_work_order_lab_item` (`id`, `work_order_id`, `lab_test_item_id`, `item_code`, `item_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('9BA426E25B874BF4827F70FD2B3453F0', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'qc_lti_001', 'LAB001', '细胞计数与活力检测', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); +INSERT INTO `biz_qc_work_order_lab_item` (`id`, `work_order_id`, `lab_test_item_id`, `item_code`, `item_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C82C1298C0F64D65A88E31F2BF3E26C7', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'qc_lti_002', 'LAB002', '支原体检测(培养法)', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); COMMIT; -- ---------------------------- @@ -2293,6 +3402,284 @@ CREATE TABLE `biz_qc_work_order_third_item` ( -- Records of biz_qc_work_order_third_item -- ---------------------------- BEGIN; +INSERT INTO `biz_qc_work_order_third_item` (`id`, `work_order_id`, `third_party_item_id`, `company_id`, `company_name`, `item_code`, `item_name`, `fee_amount`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('0D438C854BFA412C9843B7379D7C9E2A', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'qc_tpi_004', 'qc_tpc_002', '上海谱尼测试集团合肥分公司', 'DSF002-001', '重金属含量检测(铅镉汞砷)', 2000.00, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); +INSERT INTO `biz_qc_work_order_third_item` (`id`, `work_order_id`, `third_party_item_id`, `company_id`, `company_name`, `item_code`, `item_name`, `fee_amount`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4AB18B6C30244D3EBBC28F1E1A59FD67', 'E8FFC3CE0FBF450181E922D92DFC0BA4', 'qc_tpi_001', 'qc_tpc_001', '安徽中检技术服务有限公司', 'DSF001-001', '细胞活性检测', 800.00, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', '', '2026-05-17 22:44:24', 'd3000000000000000000000000000001', '2026-05-17 22:44:24', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_reagent +-- ---------------------------- +DROP TABLE IF EXISTS `biz_reagent`; +CREATE TABLE `biz_reagent` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `reagent_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '试剂编码', + `reagent_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '试剂名称', + `spec` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规格', + `standard_usage` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_reagent_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='试剂'; + +-- ---------------------------- +-- Records of biz_reagent +-- ---------------------------- +BEGIN; +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2F10100072B24760B8B23E1F224FC74D', 'ceshi111', '测试试剂1', '规格1', '1001', '克', '描述1', 'zkxw', 0, '备注1', 'd3000000000000000000000000000001', '', '2026-05-18 17:22:02', 'd3000000000000000000000000000001', '2026-05-18 17:22:12', 0); +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_reag_001', 'SJ001', 'DMEM 高糖培养基', '500mL', '10', 'mL', '基础培养基', 'zkxw', 1, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_reag_002', 'SJ002', '胎牛血清 FBS', '500mL', '1', 'mL', '培养基添加剂', 'zkxw', 2, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_reag_003', 'SJ003', '0.25% 胰酶-EDTA', '100mL', '2', 'mL', '细胞消化', 'zkxw', 3, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_reag_004', 'SJ004', 'PBS 缓冲液', '500mL', '5', 'mL', '细胞洗涤', 'zkxw', 4, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_reag_005', 'SJ005', '台盼蓝染液', '10mL', '0.1', 'mL', '死活细胞染色计数', 'zkxw', 5, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +INSERT INTO `biz_reagent` (`id`, `reagent_code`, `reagent_name`, `spec`, `standard_usage`, `unit`, `description`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_reag_006', 'SJ006', 'DMSO 细胞冻存液', '100mL', '0.5', 'mL', '冻存保护剂', 'zkxw', 6, NULL, NULL, '', '2026-05-18 16:54:07', NULL, '2026-05-18 16:54:07', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_research_donation +-- ---------------------------- +DROP TABLE IF EXISTS `biz_research_donation`; +CREATE TABLE `biz_research_donation` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `donation_no` varchar(64) NOT NULL COMMENT '捐赠协议编号', + `donation_status` varchar(16) NOT NULL DEFAULT 'dsx' COMMENT '捐赠状态 dsx待上线 sxz上线中 ygq已过期 yzf已作废 zckc转出库存', + `donation_date` char(8) DEFAULT NULL COMMENT '捐赠日期YYYYMMDD', + `source_type` varchar(20) NOT NULL DEFAULT 'direct' COMMENT '来源类型 direct独立新建 from_storage从细胞存储转来', + `source_protocol_id` varchar(64) DEFAULT NULL COMMENT '来源采集协议单ID(from_storage时关联)', + `consent_form_urls` text COMMENT '知情同意书附件URL(逗号分隔)', + `attachment_urls` text COMMENT '附件URL(逗号分隔)', + `collector_user_id` varchar(64) DEFAULT NULL COMMENT '采集专员用户ID', + `effective_time` datetime DEFAULT NULL COMMENT '生效时间', + `effective_desc` varchar(512) DEFAULT NULL COMMENT '生效描述', + `expire_time` datetime DEFAULT NULL COMMENT '过期时间', + `expire_desc` varchar(512) DEFAULT NULL COMMENT '过期描述', + `void_time` datetime DEFAULT NULL COMMENT '作废时间', + `void_desc` varchar(512) DEFAULT NULL COMMENT '作废描述', + `to_storage_time` datetime DEFAULT NULL COMMENT '转库存时间', + `to_storage_desc` varchar(512) DEFAULT NULL COMMENT '转库存描述', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注信息', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_rd_tenant_status` (`tenant_no`,`donation_status`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科研捐赠单主表'; + +-- ---------------------------- +-- Records of biz_research_donation +-- ---------------------------- +BEGIN; +INSERT INTO `biz_research_donation` (`id`, `donation_no`, `donation_status`, `donation_date`, `source_type`, `source_protocol_id`, `consent_form_urls`, `attachment_urls`, `collector_user_id`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_storage_time`, `to_storage_desc`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2667E84D51D2498284537F10E90C6170', 'ZKZX34000098', 'zckc', '20260519', 'direct', NULL, 'donation-consent/202605/19/e3bd976f8c4c433f89e784bd527f0f31.jpeg', 'donation-other/202605/19/701f3c7248044020b29fc6802fe1aa87.png', 'd3000000000000000000000000000001', '2026-05-19 10:51:13', NULL, '2026-05-19 11:10:02', '123', NULL, NULL, '2026-05-19 11:16:29', '已转细胞存储 XC20260519111629EA5724', 'zkxw', 0, '备注', 'd3000000000000000000000000000001', '', '2026-05-19 10:32:50', 'd3000000000000000000000000000001', '2026-05-19 11:37:19', 1); +INSERT INTO `biz_research_donation` (`id`, `donation_no`, `donation_status`, `donation_date`, `source_type`, `source_protocol_id`, `consent_form_urls`, `attachment_urls`, `collector_user_id`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_storage_time`, `to_storage_desc`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('67C5A1F4513247B88899EA2EA3806D25', 'ZKZX34000085', 'zckc', '20260519', 'direct', NULL, 'donation-consent/202605/19/d1b9e850c9474d17907873d7e561db4d.jpeg', 'donation-other/202605/19/d70d4a696ecb49e08c546ef12ceb4be0.jpeg', 'd3000000000000000000000000000001', '2026-05-19 11:40:08', NULL, NULL, NULL, NULL, NULL, '2026-05-19 11:40:19', '已转细胞存储 ZKZX34000085', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:53', 'd3000000000000000000000000000001', '2026-05-19 11:40:19', 0); +INSERT INTO `biz_research_donation` (`id`, `donation_no`, `donation_status`, `donation_date`, `source_type`, `source_protocol_id`, `consent_form_urls`, `attachment_urls`, `collector_user_id`, `effective_time`, `effective_desc`, `expire_time`, `expire_desc`, `void_time`, `void_desc`, `to_storage_time`, `to_storage_desc`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C7673FDA427A47169F75D0BF4ED32BCC', 'ZKZX34000074', 'dsx', '20260519', 'from_storage', '5BFDF94E590E4022BC1F4E84F3430F85', 'protocol/202605/17/17c6f1176d614d869dfc6c3df752e21a.jpg', NULL, 'd3000000000000000000000000000001', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, '由细胞存储协议单 ZKZX34000074 转入', 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_research_donation_audit +-- ---------------------------- +DROP TABLE IF EXISTS `biz_research_donation_audit`; +CREATE TABLE `biz_research_donation_audit` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', + `auditor_user_id` varchar(64) DEFAULT NULL COMMENT '审核人', + `audit_remark` varchar(1000) DEFAULT NULL COMMENT '审核备注', + `audit_status` varchar(16) NOT NULL COMMENT '审核状态 shtg审核通过/shth审核退回', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_rda_donation` (`research_donation_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科研捐赠单-审核记录'; + +-- ---------------------------- +-- Records of biz_research_donation_audit +-- ---------------------------- +BEGIN; +INSERT INTO `biz_research_donation_audit` (`id`, `research_donation_id`, `auditor_user_id`, `audit_remark`, `audit_status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('075932CB7AD84D8C9ECA71E9FFE8EBFF', '2667E84D51D2498284537F10E90C6170', 'd3000000000000000000000000000001', '通过', 'shtg', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:51:13', 'd3000000000000000000000000000001', '2026-05-19 10:51:13', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_research_donation_collection +-- ---------------------------- +DROP TABLE IF EXISTS `biz_research_donation_collection`; +CREATE TABLE `biz_research_donation_collection` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', + `region_id` varchar(64) DEFAULT NULL COMMENT '区域ID', + `hospital_id` varchar(64) DEFAULT NULL COMMENT '医院ID', + `medical_staff` varchar(200) DEFAULT NULL COMMENT '医护人员', + `sales_user_id` varchar(64) DEFAULT NULL COMMENT '销售人员用户ID', + `sample_collect_time` datetime DEFAULT NULL COMMENT '样本采集时间', + `maternal_blood_collect_time` datetime DEFAULT NULL COMMENT '母血采集时间', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_rdc_donation` (`research_donation_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科研捐赠单-采集信息'; + +-- ---------------------------- +-- Records of biz_research_donation_collection +-- ---------------------------- +BEGIN; +INSERT INTO `biz_research_donation_collection` (`id`, `research_donation_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8FEF7A80DC564B408BDFE6E6BD5ABFFB', '67C5A1F4513247B88899EA2EA3806D25', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 11:39:00', '2026-05-19 10:39:02', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:53', 'd3000000000000000000000000000001', '2026-05-19 11:39:53', 0); +INSERT INTO `biz_research_donation_collection` (`id`, `research_donation_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D0A2CE9FB43941D5B1DB2ADD0EC22532', 'C7673FDA427A47169F75D0BF4ED32BCC', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '李护士', 'd3000000000000000000000000000001', '2026-05-17 21:41:46', '2026-05-17 20:41:48', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +INSERT INTO `biz_research_donation_collection` (`id`, `research_donation_id`, `region_id`, `hospital_id`, `medical_staff`, `sales_user_id`, `sample_collect_time`, `maternal_blood_collect_time`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('D1B0A6C7CB524817963B0AB5D94C1801', '2667E84D51D2498284537F10E90C6170', 'e1000000000000000000000000000001', '8544560EC279420D918D4421C35591D7', '王护士', 'd3000000000000000000000000000001', '2026-05-19 10:32:04', '2026-05-19 09:32:05', 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:32:50', 'd3000000000000000000000000000001', '2026-05-19 11:37:19', 1); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_research_donation_party +-- ---------------------------- +DROP TABLE IF EXISTS `biz_research_donation_party`; +CREATE TABLE `biz_research_donation_party` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', + `customer_id` varchar(64) DEFAULT NULL COMMENT '客户ID', + `mother_name` varchar(100) DEFAULT NULL COMMENT '母亲姓名', + `mother_phone` varchar(32) DEFAULT NULL COMMENT '母亲电话', + `mother_id_card` varchar(32) DEFAULT NULL COMMENT '母亲身份证号', + `mother_birth_ym` char(6) DEFAULT NULL COMMENT '母亲出生年月YYYYMM', + `mother_ethnic` varchar(32) DEFAULT NULL COMMENT '母亲民族', + `mother_address` varchar(512) DEFAULT NULL COMMENT '母亲地址', + `father_name` varchar(100) DEFAULT NULL COMMENT '父亲姓名', + `father_phone` varchar(32) DEFAULT NULL COMMENT '父亲电话', + `father_id_card` varchar(32) DEFAULT NULL COMMENT '父亲身份证号', + `newborn_name` varchar(100) DEFAULT NULL COMMENT '新生儿姓名', + `newborn_id_card` varchar(32) DEFAULT NULL COMMENT '新生儿身份证号', + `newborn_delivery_time` datetime DEFAULT NULL COMMENT '新生儿分娩时间', + `newborn_sex` char(1) DEFAULT NULL COMMENT '新生儿性别', + `delivery_mode` varchar(16) DEFAULT NULL COMMENT '分娩方式', + `birth_order` int(11) DEFAULT NULL COMMENT '出生顺序', + `newborn_weight_gram` int(11) DEFAULT NULL COMMENT '新生儿体重(克)', + `apgar_1min` decimal(4,1) DEFAULT NULL COMMENT 'Apgar 1分钟评分', + `apgar_5min` decimal(4,1) DEFAULT NULL COMMENT 'Apgar 5分钟评分', + `collector_user_id` varchar(64) DEFAULT NULL COMMENT '采集专员用户ID', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_rdp_donation` (`research_donation_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科研捐赠单-当事人客户信息'; + +-- ---------------------------- +-- Records of biz_research_donation_party +-- ---------------------------- +BEGIN; +INSERT INTO `biz_research_donation_party` (`id`, `research_donation_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80C496065E1E49DFA0B5BD51C1CEF070', '2667E84D51D2498284537F10E90C6170', NULL, '王莉丝', '13800992211', '340822198810102010', '198810', '汉族', '安徽省合肥蜀山区望江西路091号', '欧阳伊格', '13899002211', '340822198701232212', '欧阳立', '340822202605191031', '2026-05-19 10:31:38', '1', 'sc', 3, 3780, 9.0, 9.0, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:32:50', 'd3000000000000000000000000000001', '2026-05-19 11:37:19', 1); +INSERT INTO `biz_research_donation_party` (`id`, `research_donation_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BAE76E770D9D410D94465920A28DEAFA', '67C5A1F4513247B88899EA2EA3806D25', '83F6CA99975A4F24BC48A391902B4298', '测试母亲', '13900139000', '340102199001011234', '199001', '汉族', '安徽省合肥市蜀山区', '李毅', '13988221128', '340822198811100122', '李不凡', '340822202605191138', '2026-05-19 11:38:32', '1', 'pgc', 3, 3890, 9.0, 9.0, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:53', 'd3000000000000000000000000000001', '2026-05-19 11:39:53', 0); +INSERT INTO `biz_research_donation_party` (`id`, `research_donation_id`, `customer_id`, `mother_name`, `mother_phone`, `mother_id_card`, `mother_birth_ym`, `mother_ethnic`, `mother_address`, `father_name`, `father_phone`, `father_id_card`, `newborn_name`, `newborn_id_card`, `newborn_delivery_time`, `newborn_sex`, `delivery_mode`, `birth_order`, `newborn_weight_gram`, `apgar_1min`, `apgar_5min`, `collector_user_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('EE1803ACA56745D0BF43553F38B4052C', 'C7673FDA427A47169F75D0BF4ED32BCC', 'BFA7FEBE25684B3EAE25299ABF933463', '罗雨', '13988772211', '340922198011121113', '198011', '汉族', '安徽省合肥市望龙路0981号', '李毅', '13899002233', '340822198810290128', '李李', '340822202605170212', '2026-05-17 21:41:14', '0', 'pgc', 2, 3890, 8.0, 9.0, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_research_donation_sample +-- ---------------------------- +DROP TABLE IF EXISTS `biz_research_donation_sample`; +CREATE TABLE `biz_research_donation_sample` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', + `sample_type_id` varchar(64) DEFAULT NULL COMMENT '样本类型ID', + `sample_code_id` varchar(64) DEFAULT NULL COMMENT '样本编码ID', + `sample_code` varchar(32) DEFAULT NULL COMMENT '样本编码', + `collect_amount` decimal(18,4) DEFAULT NULL COMMENT '采集量', + `unit_id` varchar(64) DEFAULT NULL COMMENT '单位ID', + `storage_years` int(11) DEFAULT NULL COMMENT '存储年限', + `sample_status` varchar(16) DEFAULT NULL COMMENT '样本状态', + `storage_in_date` char(8) DEFAULT NULL COMMENT '入库日期YYYYMMDD', + `detect_start_date` char(8) DEFAULT NULL COMMENT '检测开始日期YYYYMMDD', + `void_date` char(8) DEFAULT NULL COMMENT '作废日期YYYYMMDD', + `storage_expire_date` char(8) DEFAULT NULL COMMENT '存储到期日期YYYYMMDD', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_rds_donation` (`research_donation_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科研捐赠单-样本信息'; + +-- ---------------------------- +-- Records of biz_research_donation_sample +-- ---------------------------- +BEGIN; +INSERT INTO `biz_research_donation_sample` (`id`, `research_donation_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1C5979C8CE0F4CA1B1F31279ED69F1C2', '67C5A1F4513247B88899EA2EA3806D25', 'b3000000000000000000000000000002', '092EC5144FFE40B38792ECF29D49826D', 'ZKZX34000198', 290.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:53', 'd3000000000000000000000000000001', '2026-05-19 11:39:53', 0); +INSERT INTO `biz_research_donation_sample` (`id`, `research_donation_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('33E52152AB9A4475B038C45CEF9F6AF5', '2667E84D51D2498284537F10E90C6170', 'b3000000000000000000000000000001', '05065B9F9628405A8CE91F6542917F8D', 'ZKZX34000490', 300.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 20, NULL, NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:32:50', 'd3000000000000000000000000000001', '2026-05-19 11:37:19', 1); +INSERT INTO `biz_research_donation_sample` (`id`, `research_donation_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('989108647D434408952B9E5DE3ACB290', 'C7673FDA427A47169F75D0BF4ED32BCC', 'b3000000000000000000000000000002', '057D766442544DC297803CC1C65FAF7A', 'ZKZX34000113', 2087.0000, '225da95c-4e72-11f1-9f47-00163e3bdd96', 18, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +INSERT INTO `biz_research_donation_sample` (`id`, `research_donation_id`, `sample_type_id`, `sample_code_id`, `sample_code`, `collect_amount`, `unit_id`, `storage_years`, `sample_status`, `storage_in_date`, `detect_start_date`, `void_date`, `storage_expire_date`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B4F949F7BA014110AD724FA529674C77', 'C7673FDA427A47169F75D0BF4ED32BCC', 'b3000000000000000000000000000001', '06896244E77E4306A23E7D9D37B9B39F', 'ZKZX34000224', 380.0000, '225da6c3-4e72-11f1-9f47-00163e3bdd96', 20, 'ycj', NULL, NULL, NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for biz_research_donation_sample_transport +-- ---------------------------- +DROP TABLE IF EXISTS `biz_research_donation_sample_transport`; +CREATE TABLE `biz_research_donation_sample_transport` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `research_donation_id` varchar(64) NOT NULL COMMENT '科研捐赠单ID', + `sample_id` varchar(64) NOT NULL COMMENT '样本ID', + `transport_type` varchar(16) NOT NULL COMMENT '运输方式 kdys快递运输 ryxd人员携带', + `express_company_id` varchar(64) DEFAULT NULL COMMENT '快递公司ID', + `waybill_no` varchar(128) DEFAULT NULL COMMENT '快递单号', + `dest_site_id` varchar(64) DEFAULT NULL COMMENT '目的站点ID', + `express_fee` decimal(18,2) DEFAULT NULL COMMENT '快递费用(元)', + `eta_time` datetime DEFAULT NULL COMMENT '预计到达时间', + `carrier_name` varchar(100) DEFAULT NULL COMMENT '携带人员姓名', + `carrier_phone` varchar(32) DEFAULT NULL COMMENT '携带人员联系电话', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_rdst_donation` (`research_donation_id`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科研捐赠单-样本运输'; + +-- ---------------------------- +-- Records of biz_research_donation_sample_transport +-- ---------------------------- +BEGIN; +INSERT INTO `biz_research_donation_sample_transport` (`id`, `research_donation_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('3514DEA9582E4102BD5169500D1E6A4C', 'C7673FDA427A47169F75D0BF4ED32BCC', '989108647D434408952B9E5DE3ACB290', 'ryxd', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 19:00:00', '张三', '13900223311', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +INSERT INTO `biz_research_donation_sample_transport` (`id`, `research_donation_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('53FC4BCEF57F404F9338E9A99C09BC69', '2667E84D51D2498284537F10E90C6170', '33E52152AB9A4475B038C45CEF9F6AF5', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF12312414124', '2237b211-4e72-11f1-9f47-00163e3bdd96', 28.00, '2026-05-20 00:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 10:32:50', 'd3000000000000000000000000000001', '2026-05-19 11:37:19', 1); +INSERT INTO `biz_research_donation_sample_transport` (`id`, `research_donation_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('6AB6F458F5894D739279D1D68BB2B224', 'C7673FDA427A47169F75D0BF4ED32BCC', 'B4F949F7BA014110AD724FA529674C77', 'kdys', '22655fa7-4e72-11f1-9f47-00163e3bdd96', 'YT20012312341', '2237b211-4e72-11f1-9f47-00163e3bdd96', 20.90, '2026-05-18 21:00:00', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:43:25', 'd3000000000000000000000000000001', '2026-05-19 11:43:25', 0); +INSERT INTO `biz_research_donation_sample_transport` (`id`, `research_donation_id`, `sample_id`, `transport_type`, `express_company_id`, `waybill_no`, `dest_site_id`, `express_fee`, `eta_time`, `carrier_name`, `carrier_phone`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BDC03EBBA1FC4462813F6C97681B6603', '67C5A1F4513247B88899EA2EA3806D25', '1C5979C8CE0F4CA1B1F31279ED69F1C2', 'kdys', '08EF1E2FBD90470DBB5EFC40734B2439', 'SF23990123', '2237b211-4e72-11f1-9f47-00163e3bdd96', 27.00, '2026-05-20 11:39:26', NULL, NULL, 'zkxw', 0, NULL, 'd3000000000000000000000000000001', '', '2026-05-19 11:39:53', 'd3000000000000000000000000000001', '2026-05-19 11:39:53', 0); COMMIT; -- ---------------------------- @@ -3368,6 +4755,9 @@ CREATE TABLE `biz_sample_reception` ( `check_no_stratification` tinyint(4) NOT NULL DEFAULT '0' COMMENT '无分层', `accept_conclusion` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '结论 js接收 bj拒收', `receive_attachments` varchar(4000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '接收附件URL逗号分隔', + `reception_source` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'cell_storage' COMMENT '来源类型 cell_storage细胞存储 research_donation科研捐赠', + `donation_sample_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '捐赠样本ID(仅科研捐赠来源)', + `research_donation_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '科研捐赠单ID(仅科研捐赠来源)', `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', `order_num` int(11) DEFAULT NULL COMMENT '排序号', `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注信息', @@ -3383,17 +4773,14 @@ CREATE TABLE `biz_sample_reception` ( KEY `idx_tenant_reception_time` (`tenant_no`,`reception_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='样本接收记录'; --- 已有库增量(2026-05-17):样本接收增加体积、净重 --- ALTER TABLE `biz_sample_reception` --- ADD COLUMN `volume_ml` decimal(18,4) DEFAULT NULL COMMENT '体积(ml)' AFTER `receive_temperature`, --- ADD COLUMN `net_weight_g` decimal(18,4) DEFAULT NULL COMMENT '净重(g)' AFTER `volume_ml`; - -- ---------------------------- -- Records of biz_sample_reception -- ---------------------------- BEGIN; -INSERT INTO `biz_sample_reception` (`id`, `protocol_sample_id`, `collection_protocol_id`, `reception_time`, `handler_user_id`, `handler_name`, `receive_temperature`, `check_packaging`, `check_sealing`, `check_no_damage`, `check_no_leakage`, `check_color`, `check_tying_rope`, `check_no_stratification`, `accept_conclusion`, `receive_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('34D7CD2D81284098B00D529D0CE068CC', '38AD4C4F694B434E8F7860A8B56A2805', '485BACE9A21C4D7FA23EE919C15EDDF0', '2026-05-17 16:27:40', 'd3000000000000000000000000000001', '系统管理员', '32', 1, 1, 1, 1, 1, 1, 1, 'js', 'sample-reception/202605/17/d7082b67b3984db293ffec6a401c3d03.jpeg,sample-reception/202605/17/45c837ff46c5428dbf4adb00a0f514d7.jpeg,sample-reception/202605/17/917d07a3991e47d58613ce6a23842777.docx', 'zkxw', NULL, '备注信息备注信息备注信息', 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:28:00', 'd3000000000000000000000000000001', '2026-05-17 16:28:00', 0); -INSERT INTO `biz_sample_reception` (`id`, `protocol_sample_id`, `collection_protocol_id`, `reception_time`, `handler_user_id`, `handler_name`, `receive_temperature`, `check_packaging`, `check_sealing`, `check_no_damage`, `check_no_leakage`, `check_color`, `check_tying_rope`, `check_no_stratification`, `accept_conclusion`, `receive_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8EA52E281FEB4892A901F14C09B79195', 'B8CD10598E884674A36CBEB0D2968D04', '485BACE9A21C4D7FA23EE919C15EDDF0', '2026-05-17 16:26:25', 'd3000000000000000000000000000001', '系统管理员', '32', 0, 0, 0, 1, 1, 0, 0, 'js', 'sample-reception/202605/17/567ae8a12ec647afbfe4ac8307fa0858.jpeg,sample-reception/202605/17/5d67a7eba6594796b54c4b48d4e3738b.jpeg,sample-reception/202605/17/a27aa03612784368a997bea8c21093eb.docx', 'zkxw', NULL, '备注信息备注信息', 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:26:40', 'd3000000000000000000000000000001', '2026-05-17 16:26:40', 0); +INSERT INTO `biz_sample_reception` (`id`, `protocol_sample_id`, `collection_protocol_id`, `reception_time`, `handler_user_id`, `handler_name`, `receive_temperature`, `volume_ml`, `net_weight_g`, `check_packaging`, `check_sealing`, `check_no_damage`, `check_no_leakage`, `check_color`, `check_tying_rope`, `check_no_stratification`, `accept_conclusion`, `receive_attachments`, `reception_source`, `donation_sample_id`, `research_donation_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('34D7CD2D81284098B00D529D0CE068CC', '38AD4C4F694B434E8F7860A8B56A2805', '485BACE9A21C4D7FA23EE919C15EDDF0', '2026-05-17 16:27:40', 'd3000000000000000000000000000001', '系统管理员', '32', NULL, NULL, 1, 1, 1, 1, 1, 1, 1, 'js', 'sample-reception/202605/17/d7082b67b3984db293ffec6a401c3d03.jpeg,sample-reception/202605/17/45c837ff46c5428dbf4adb00a0f514d7.jpeg,sample-reception/202605/17/917d07a3991e47d58613ce6a23842777.docx', 'cell_storage', NULL, NULL, 'zkxw', NULL, '备注信息备注信息备注信息', 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:28:00', 'd3000000000000000000000000000001', '2026-05-17 16:28:00', 0); +INSERT INTO `biz_sample_reception` (`id`, `protocol_sample_id`, `collection_protocol_id`, `reception_time`, `handler_user_id`, `handler_name`, `receive_temperature`, `volume_ml`, `net_weight_g`, `check_packaging`, `check_sealing`, `check_no_damage`, `check_no_leakage`, `check_color`, `check_tying_rope`, `check_no_stratification`, `accept_conclusion`, `receive_attachments`, `reception_source`, `donation_sample_id`, `research_donation_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('399068547D164EA9A0BCAA70FB4E2792', '405B20AD1A044E1A926AA4092BD7540D', '5BFDF94E590E4022BC1F4E84F3430F85', '2026-05-17 22:53:01', 'd3000000000000000000000000000001', '系统管理员', NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 'js', NULL, 'cell_storage', NULL, NULL, 'zkxw', NULL, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception` (`id`, `protocol_sample_id`, `collection_protocol_id`, `reception_time`, `handler_user_id`, `handler_name`, `receive_temperature`, `volume_ml`, `net_weight_g`, `check_packaging`, `check_sealing`, `check_no_damage`, `check_no_leakage`, `check_color`, `check_tying_rope`, `check_no_stratification`, `accept_conclusion`, `receive_attachments`, `reception_source`, `donation_sample_id`, `research_donation_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8EA52E281FEB4892A901F14C09B79195', 'B8CD10598E884674A36CBEB0D2968D04', '485BACE9A21C4D7FA23EE919C15EDDF0', '2026-05-17 16:26:25', 'd3000000000000000000000000000001', '系统管理员', '32', NULL, NULL, 0, 0, 0, 1, 1, 0, 0, 'js', 'sample-reception/202605/17/567ae8a12ec647afbfe4ac8307fa0858.jpeg,sample-reception/202605/17/5d67a7eba6594796b54c4b48d4e3738b.jpeg,sample-reception/202605/17/a27aa03612784368a997bea8c21093eb.docx', 'cell_storage', NULL, NULL, 'zkxw', NULL, '备注信息备注信息', 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:26:40', 'd3000000000000000000000000000001', '2026-05-17 16:26:40', 0); +INSERT INTO `biz_sample_reception` (`id`, `protocol_sample_id`, `collection_protocol_id`, `reception_time`, `handler_user_id`, `handler_name`, `receive_temperature`, `volume_ml`, `net_weight_g`, `check_packaging`, `check_sealing`, `check_no_damage`, `check_no_leakage`, `check_color`, `check_tying_rope`, `check_no_stratification`, `accept_conclusion`, `receive_attachments`, `reception_source`, `donation_sample_id`, `research_donation_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F52757E85AC24583AB784D08E435B2CF', '77A4861598434AA3B5048832EFEDE329', '5BFDF94E590E4022BC1F4E84F3430F85', '2026-05-17 22:13:59', 'd3000000000000000000000000000001', '系统管理员', '-10', 100.0000, 200.0000, 0, 0, 0, 0, 0, 0, 0, 'js', 'sample-reception/202605/17/c46d9f6732c042f290f86130023e90e3.jpeg', 'cell_storage', NULL, NULL, 'zkxw', NULL, '一切正常,接收该样本', 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); COMMIT; -- ---------------------------- @@ -3461,6 +4848,20 @@ CREATE TABLE `biz_sample_reception_check_result` ( -- Records of biz_sample_reception_check_result -- ---------------------------- BEGIN; +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('10F5882A52344AD29F59AA8EB364E627', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000003', 'no_damage', '无破损', 1, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('1CC1EF7B3A844AF8AF2DB858A2109F24', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000007', 'no_stratification', '无分层', 0, 'zkxw', 7, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2750A9851F854351A0B7B1C18D9FCEC3', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000006', 'tying_rope', '系绳', 0, 'zkxw', 6, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('2AC8392F8E1045FFACDF7C787B6633FF', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000003', 'no_damage', '无破损', 0, 'zkxw', 3, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('31126393D44E4E51A3D6964DBBCF214A', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000004', 'no_leakage', '无漏液', 0, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('492CF33CB9E54380A957617BF1373CA0', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000002', 'sealing', '封口', 0, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('5A7B2EB0BBC149DB9D3B4861C5232060', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000005', 'color', '颜色', 0, 'zkxw', 5, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('861636FBF3444317B3FC17E0904120A6', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000005', 'color', '颜色', 1, 'zkxw', 5, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8B0ABC03E3AF43D7A1B063851A2AFFD2', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000006', 'tying_rope', '系绳', 0, 'zkxw', 6, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8C17AAE749634B3BAB6F896B04B7CE2B', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000002', 'sealing', '封口', 1, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A6FE687465844753BCDEC44172B8BC92', '399068547D164EA9A0BCAA70FB4E2792', 'c70000000000000000000000000000001', 'packaging', '包装', 0, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:53:05', 'd3000000000000000000000000000001', '2026-05-17 22:53:05', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('B682663642C64C00961B94DB1F6E7E98', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000004', 'no_leakage', '无漏液', 1, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('C75F2B3BFE5247C2BBDBB82862C49624', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000001', 'packaging', '包装', 1, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); +INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('F6EB2B9654184AFAB87976FD1949ACAB', 'F52757E85AC24583AB784D08E435B2CF', 'c70000000000000000000000000000007', 'no_stratification', '无分层', 0, 'zkxw', 7, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 22:14:39', 'd3000000000000000000000000000001', '2026-05-17 22:14:39', 0); INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('r074ad32ac5dcc9534db517c3048b8b2', '8EA52E281FEB4892A901F14C09B79195', 'c70000000000000000000000000000002', 'sealing', '封口', 0, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:26:40', 'd3000000000000000000000000000001', '2026-05-17 16:26:40', 0); INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('r0b3cdf4926b39a9385ca35f07282ea9', '8EA52E281FEB4892A901F14C09B79195', 'c70000000000000000000000000000004', 'no_leakage', '无漏液', 1, 'zkxw', 4, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:26:40', 'd3000000000000000000000000000001', '2026-05-17 16:26:40', 0); INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('r496a0912c85369a3eff9052b23c0f54', '34D7CD2D81284098B00D529D0CE068CC', 'c70000000000000000000000000000007', 'no_stratification', '无分层', 1, 'zkxw', 7, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:28:00', 'd3000000000000000000000000000001', '2026-05-17 16:28:00', 0); @@ -3477,6 +4878,43 @@ INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_it INSERT INTO `biz_sample_reception_check_result` (`id`, `reception_id`, `check_item_id`, `item_code`, `item_name`, `checked`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('rddb37094ec8fdbd29a03fbb0904e1a7', '34D7CD2D81284098B00D529D0CE068CC', 'c70000000000000000000000000000002', 'sealing', '封口', 1, 'zkxw', 2, NULL, 'd3000000000000000000000000000001', 'd1000000000000000000000000000002', '2026-05-17 16:28:00', 'd3000000000000000000000000000001', '2026-05-17 16:28:00', 0); COMMIT; +-- ---------------------------- +-- Table structure for biz_sop_document +-- ---------------------------- +DROP TABLE IF EXISTS `biz_sop_document`; +CREATE TABLE `biz_sop_document` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `sop_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SOP编号', + `sop_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SOP文档名称', + `version_no` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '版本号', + `sop_attachments` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'SOP文档附件(逗号分隔URL)', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_sop_tenant` (`tenant_no`,`del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SOP文档'; + +-- ---------------------------- +-- Records of biz_sop_document +-- ---------------------------- +BEGIN; +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('8017D11A1D094C73B1DD615FAE704B9E', '123', '123', '123', NULL, 'zkxw', 0, '12312', 'd3000000000000000000000000000001', '', '2026-05-18 17:24:51', 'd3000000000000000000000000000001', '2026-05-18 17:24:53', 1); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('89F52695774F4117A5866F78EF97AFA4', 'sop13123123', '测试文档333', '0.011', '202605/18/c6eb1c26a3634bd7ac09329657ca8349.docx,202605/18/d888b84be03245d4b12448b5f27ea864.docx', 'zkxw', 0, '123123123123', 'd3000000000000000000000000000001', '', '2026-05-18 17:23:33', 'd3000000000000000000000000000001', '2026-05-18 17:23:47', 0); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_sop_001', 'SOP001', '细胞复苏操作规程', 'V1.0', NULL, 'zkxw', 1, '液氮取出至接种', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_sop_002', 'SOP002', '接种与换液操作规程', 'V1.0', NULL, 'zkxw', 2, 'T25 接种与日常换液', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_sop_003', 'SOP003', '贴壁细胞传代操作规程', 'V1.1', NULL, 'zkxw', 3, '胰酶消化传代', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_sop_004', 'SOP004', '细胞冻存操作规程', 'V2.0', NULL, 'zkxw', 4, '冻存液配制与程序降温', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_sop_005', 'SOP005', '收获与制剂操作规程', 'V1.0', NULL, 'zkxw', 5, '上清收获与细胞收集', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +INSERT INTO `biz_sop_document` (`id`, `sop_code`, `sop_name`, `version_no`, `sop_attachments`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('prod_sop_006', 'SOP006', '质检取样操作规程', 'V1.0', NULL, 'zkxw', 6, '留样与送检', NULL, '', '2026-05-19 12:49:30', NULL, '2026-05-19 12:49:30', 0); +COMMIT; + -- ---------------------------- -- Table structure for biz_storage_facility -- ---------------------------- @@ -4872,19 +6310,39 @@ INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `co INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('30000000000000000000000000000001', '工作流管理', '2', 'M', '/workflow', '/index/index', NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-14 00:00:00', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('4760DB762DA842DABA41C0687D6F418F', '2', 'A68CEECA9A7543B29DF9FCF6BE0801A2', 'M', '12', NULL, NULL, 1, '1', '1', 'zkxw', 0, '12', 'd3000000000000000000000000000001', '', '2026-05-14 15:27:55', 'd3000000000000000000000000000001', '2026-05-14 15:27:59', 1); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000001', '细胞存储管理', '2', 'M', '/cell-storage', '/index/index', NULL, 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-14 00:00:00', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000002', '采集协议单录入', '50000000000000000000000000000001', 'C', 'protocol', '/cell-storage/protocol/index', 'biz:cellStorageProtocol:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-14 00:00:00', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000003', '采集协议单管理', '50000000000000000000000000000001', 'C', 'protocol-audit', '/cell-storage/protocol-audit/index', 'biz:cellStorageProtocolAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-14 00:00:00', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000004', '缴费确认(财务)', '50000000000000000000000000000001', 'C', 'payment-confirm', '/cell-storage/payment-confirm/index', 'biz:cellStoragePaymentConfirm:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-17 11:23:39', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000005', '退费确认(财务)', '50000000000000000000000000000001', 'C', 'refund-confirm', '/cell-storage/refund-confirm/index', 'biz:cellStorageRefundConfirm:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-17 11:23:39', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000002', '采集协议单录入', '50000000000000000000000000000001', 'C', 'protocol', '/cell-storage/protocol/index', 'biz:cellStorageProtocol:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-18 17:35:30', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000003', '采集协议单管理', '50000000000000000000000000000001', 'C', 'protocol-audit', '/cell-storage/protocol-audit/index', 'biz:cellStorageProtocolAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-18 17:35:30', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000004', '缴费确认(财务)', '50000000000000000000000000000001', 'C', 'payment-confirm', '/cell-storage/payment-confirm/index', 'biz:cellStoragePaymentConfirm:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-18 17:35:30', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000005', '退费确认(财务)', '50000000000000000000000000000001', 'C', 'refund-confirm', '/cell-storage/refund-confirm/index', 'biz:cellStorageRefundConfirm:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-18 17:35:30', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('50000000000000000000000000000006', '分期缴费预警', '50000000000000000000000000000001', 'C', 'installment-warning', '/cell-storage/installment-warning/index', 'biz:cellStorageInstallmentWarning:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-14 00:00:00', NULL, '2026-05-17 12:07:03', 1); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('60000000000000000000000000000001', '科研捐赠管理', '2', 'M', '/research-donation', '/index/index', NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-18 08:00:31', NULL, '2026-05-18 08:00:31', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('60000000000000000000000000000002', '捐赠协议单录入', '60000000000000000000000000000001', 'C', 'list', '/research-donation/list/index', 'biz:researchDonation:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-18 08:00:31', NULL, '2026-05-19 10:07:03', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('60000000000000000000000000000003', '捐赠协议单管理', '60000000000000000000000000000001', 'C', 'audit', '/research-donation/audit/index', 'biz:researchDonationAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-18 08:00:31', NULL, '2026-05-19 10:07:03', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000001', '质量检测', '2', 'M', '/quality-inspection', '/index/index', NULL, 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-17 16:22:32', NULL, '2026-05-17 16:22:32', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000002', '样本接收', '70000000000000000000000000000001', 'C', 'sample-reception', '/quality-inspection/sample-reception/index', 'biz:sampleReception:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-17 16:22:32', NULL, '2026-05-17 16:22:32', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000003', '接收检查项配置', '70000000000000000000000000000001', 'C', 'sample-reception-check-item', '/quality-inspection/sample-reception-check-item/index', 'biz:sampleReceptionCheckItem:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-17 16:53:31', NULL, '2026-05-17 16:53:31', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000004', '第三方检测公司及项目', '70000000000000000000000000000001', 'C', 'third-party-company', '/quality-inspection/third-party-company/index', 'biz:qcThirdPartyCompany:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 19:37:18', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000004', '第三方检测公司及项目', '70000000000000000000000000000001', 'C', 'third-party-company', '/quality-inspection/third-party-company/index', 'biz:qcThirdPartyCompany:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 20:06:19', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000005', '第三方检测项目', '70000000000000000000000000000001', 'C', 'third-party-item', '/quality-inspection/third-party-item/index', 'biz:qcThirdPartyItem:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 20:06:19', 1); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000006', '实验室自检项目', '70000000000000000000000000000001', 'C', 'lab-test-item', '/quality-inspection/lab-test-item/index', 'biz:qcLabTestItem:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 19:37:18', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000007', '质检工单', '70000000000000000000000000000001', 'C', 'qc-work-order', '/quality-inspection/qc-work-order/index', 'biz:qcWorkOrder:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 19:37:18', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000007', '入库质检工单', '70000000000000000000000000000001', 'C', 'qc-work-order', '/quality-inspection/qc-work-order/index', 'biz:qcWorkOrder:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 19:37:18', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('70000000000000000000000000000008', '质检任务', '70000000000000000000000000000001', 'C', 'qc-task', '/quality-inspection/qc-task/index', 'biz:qcTask:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-17 19:37:18', NULL, '2026-05-17 19:37:18', 0); -INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('904b5173519411f1944300163e3bdd96', '缴费信息', '50000000000000000000000000000001', 'C', 'payment-info', '/cell-storage/payment-info/index', 'cellStorage:paymentInfo:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 10:03:14', NULL, '2026-05-17 10:03:14', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000001', '中试服务管理', '2', 'M', '/pilot-service', NULL, NULL, 1, '1', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000002', '细胞产品类型管理', '80000000000000000000000000000001', 'C', 'cell-product-type', 'pilot-service/cell-product-type/index', NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000003', '细胞产品规格管理', '80000000000000000000000000000001', 'C', 'cell-product-spec', 'pilot-service/cell-product-spec/index', NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000004', '细胞产品价格体系管理', '80000000000000000000000000000001', 'C', 'cell-product-price', 'pilot-service/cell-product-price/index', NULL, 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000005', '细胞产品项目价格管理', '80000000000000000000000000000001', 'C', 'project-price-system', 'pilot-service/project-price-system/index', NULL, 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000006', '渠道信息管理', '80000000000000000000000000000001', 'C', 'channel', 'pilot-service/channel/index', NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('80000000000000000000000000000007', '体检机构及项目价格', '80000000000000000000000000000001', 'C', 'checkup-institution', 'pilot-service/checkup-institution/index', NULL, 1, '1', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-18 07:53:36', NULL, '2026-05-18 07:53:36', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000001', '生产管理', '2', 'M', '/production', '/index/index', NULL, 1, '1', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000002', '耗材管理', '90000000000000000000000000000001', 'C', 'consumable', '/production/consumable/index', 'production:consumable:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000003', '试剂管理', '90000000000000000000000000000001', 'C', 'reagent', '/production/reagent/index', 'production:reagent:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 16:40:31', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000004', 'SOP文档', '90000000000000000000000000000001', 'C', 'sop', '/production/sop/index', 'production:sop:list', 1, '1', '1', 'zkxw', 8, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-19 12:42:19', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000005', '工艺工序分类', '90000000000000000000000000000001', 'C', 'process-category', '/production/process-category/index', 'production:process-category:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000006', '工艺产出物类型', '90000000000000000000000000000001', 'C', 'output-type', '/production/output-type/index', 'production:output-type:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 00:00:00', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000007', '耗材包管理', '90000000000000000000000000000001', 'C', 'consumable-pack', '/production/consumable-pack/index', 'production:consumable-pack:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 16:40:31', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000008', '工艺库管理', '90000000000000000000000000000001', 'C', 'process', '/production/process/index', 'production:process:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', '2026-05-18 00:00:00', NULL, '2026-05-18 16:40:31', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('90000000000000000000000000000010', '工艺路线管理', '90000000000000000000000000000001', 'C', 'process-route', '/production/process-route/index', 'production:process-route:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-19 00:00:00', NULL, '2026-05-19 00:00:00', 0); +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('904b5173519411f1944300163e3bdd96', '缴费信息', '50000000000000000000000000000001', 'C', 'payment-info', '/cell-storage/payment-info/index', 'cellStorage:paymentInfo:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', '2026-05-17 10:03:14', NULL, '2026-05-18 17:35:30', 0); INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('A68CEECA9A7543B29DF9FCF6BE0801A2', '1', '2', 'M', '1', NULL, NULL, 1, '1', '1', 'zkxw', 0, '1', 'd3000000000000000000000000000001', '', '2026-05-14 15:27:46', 'd3000000000000000000000000000001', '2026-05-14 15:28:01', 1); COMMIT; diff --git a/docs/superpowers/plans/2026-05-19-process-route-management.md b/docs/superpowers/plans/2026-05-19-process-route-management.md new file mode 100644 index 00000000..54adbffb --- /dev/null +++ b/docs/superpowers/plans/2026-05-19-process-route-management.md @@ -0,0 +1,2022 @@ +# 工艺路线管理 实施计划 + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 在生产管理菜单下新增「工艺路线管理」模块,支持路线基础信息维护、版本管理、以及拖拽式三栏路线图配置。 + +**Architecture:** 后端 6 张新表(路线主表 + 步骤 + 4 张步骤子表),CRUD 层遵循现有 `process.py` 模式(主子表级联、软删除、row_to_dict 序列化)。前端列表页遵循 `unit/index.vue` 模板,路线图配置弹窗使用三栏 flex 布局 + vue-draggable-plus 排序 + HTML5 Drag API 跨栏拖入。 + +**Tech Stack:** FastAPI + SQLAlchemy + Pydantic v2 (后端) | Vue 3 + Element Plus + vue-draggable-plus (前端) | MySQL 5.7 + +**设计规格文档:** `docs/superpowers/specs/2026-05-19-process-route-management-design.md` + +--- + +## 文件清单 + +| 操作 | 文件 | +|------|------| +| 新建 | `docs/sql/production_process_route.sql` | +| 追加 | `backend/app/models/models.py` | +| 追加 | `backend/app/models/__init__.py` | +| 新建 | `backend/app/crud/process_route.py` | +| 新建 | `backend/app/schemas/process_route.py` | +| 追加 | `backend/app/api/production.py` | +| 追加 | `web-admin/src/api/production.ts` | +| 新建 | `web-admin/src/views/production/process-route/index.vue` | +| 追加 | `web-admin/src/router/modules/sqxp.ts` | + +--- + +### Task 1: SQL DDL — 6 张表 + 菜单数据 + +**Files:** +- Create: `docs/sql/production_process_route.sql` + +- [ ] **Step 1: 创建 SQL 文件** + +```sql +-- ============================================================================ +-- 工艺路线管理 DDL(6张业务表 + 菜单 INSERT + 菜单 order_num 调整) +-- ============================================================================ + +-- --------------------------------------------------------------------------- +-- 1. 工艺路线主表 biz_process_route +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `biz_process_route` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `route_code` varchar(64) NOT NULL COMMENT '路线编码', + `route_name` varchar(100) NOT NULL COMMENT '路线名称', + `product_type_id` varchar(64) DEFAULT NULL COMMENT '细胞产品类型ID', + `version` varchar(50) DEFAULT NULL COMMENT '版本号(如V1.0)', + `is_current` char(1) DEFAULT '0' COMMENT '是否当前版本(0-否 1-是)', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_route_tenant` (`tenant_no`, `del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工艺路线'; + +-- --------------------------------------------------------------------------- +-- 2. 路线工序步骤 biz_process_route_step +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `biz_process_route_step` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `route_id` varchar(64) NOT NULL COMMENT '所属路线ID', + `process_id` varchar(64) DEFAULT NULL COMMENT '来源工艺库工艺ID', + `step_order` int(11) DEFAULT NULL COMMENT '步骤顺序', + `process_code` varchar(64) DEFAULT NULL COMMENT '工序代码(克隆)', + `category_id` varchar(64) DEFAULT NULL COMMENT '工序分类ID(可编辑)', + `process_name` varchar(100) DEFAULT NULL COMMENT '工序名称(可编辑)', + `description` varchar(500) DEFAULT NULL COMMENT '描述(可编辑)', + `equipment_name` varchar(200) DEFAULT NULL COMMENT '预计使用设备(可编辑)', + `estimated_duration` varchar(100) DEFAULT NULL COMMENT '预估耗时(可编辑)', + `sop_ids` varchar(1000) DEFAULT NULL COMMENT '关联SOP文档ID(逗号分隔)', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prs_route` (`route_id`, `del_flag`), + KEY `idx_prs_tenant` (`tenant_no`, `del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='路线工序步骤'; + +-- --------------------------------------------------------------------------- +-- 3. 步骤试剂 biz_process_route_step_reagent +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `biz_process_route_step_reagent` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `step_id` varchar(64) NOT NULL COMMENT '所属步骤ID', + `reagent_code` varchar(64) DEFAULT NULL COMMENT '试剂编码', + `reagent_name` varchar(100) DEFAULT NULL COMMENT '试剂名称', + `spec` varchar(200) DEFAULT NULL COMMENT '规格', + `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) DEFAULT NULL COMMENT '单位', + `is_key_material` char(1) DEFAULT '0' COMMENT '是否关键物料(0-否 1-是)', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prsr_step` (`step_id`, `del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='步骤试剂'; + +-- --------------------------------------------------------------------------- +-- 4. 步骤耗材 biz_process_route_step_consumable +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `biz_process_route_step_consumable` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `step_id` varchar(64) NOT NULL COMMENT '所属步骤ID', + `consumable_code` varchar(64) DEFAULT NULL COMMENT '耗材编码', + `consumable_name` varchar(100) DEFAULT NULL COMMENT '耗材名称', + `spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号', + `standard_usage` varchar(100) DEFAULT NULL COMMENT '标准用量', + `unit` varchar(64) DEFAULT NULL COMMENT '单位', + `is_required` char(1) DEFAULT '1' COMMENT '是否必需(1-必须 0-可选)', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prsc_step` (`step_id`, `del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='步骤耗材'; + +-- --------------------------------------------------------------------------- +-- 5. 步骤产出物 biz_process_route_step_output +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `biz_process_route_step_output` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `step_id` varchar(64) NOT NULL COMMENT '所属步骤ID', + `output_type_id` varchar(64) DEFAULT NULL COMMENT '产出类型ID', + `output_name` varchar(200) DEFAULT NULL COMMENT '产出物名称', + `output_barcode` varchar(200) DEFAULT NULL COMMENT '产出物条码', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prso_step` (`step_id`, `del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='步骤产出物'; + +-- --------------------------------------------------------------------------- +-- 6. 步骤数据采集 biz_process_route_step_data_collection +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `biz_process_route_step_data_collection` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `step_id` varchar(64) NOT NULL COMMENT '所属步骤ID', + `collection_name` varchar(100) DEFAULT NULL COMMENT '采集信息名称', + `unit` varchar(64) DEFAULT NULL COMMENT '单位', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`), + KEY `idx_prsdc_step` (`step_id`, `del_flag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='步骤数据采集'; + +-- ============================================================================ +-- 菜单数据 +-- ============================================================================ +INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) +VALUES ('90000000000000000000000000000010', '工艺路线管理', '90000000000000000000000000000001', 'C', 'process-route', '/production/process-route/index', 'production:process-route:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', '2026-05-19 00:00:00', NULL, '2026-05-19 00:00:00', 0); + +-- SOP文档 order_num 从 7 改为 8 +UPDATE `sys_menu` SET `order_num` = 8 WHERE `id` = '90000000000000000000000000000004'; +``` + +- [ ] **Step 2: 在 MySQL 中执行 SQL 验证建表成功** + +Run: 在 MySQL 客户端执行 `docs/sql/production_process_route.sql` +Expected: 6 张表创建成功,菜单插入成功,SOP order_num 更新成功 + +- [ ] **Step 3: 提交** + +```bash +git add docs/sql/production_process_route.sql +git commit -m "feat: add process route management SQL DDL (6 tables + menu)" +``` + +--- + +### Task 2: SQLAlchemy Model — 6 个新模型 + +**Files:** +- Modify: `backend/app/models/models.py` (追加到文件末尾 `from app.models.qc_param` 之前) +- Modify: `backend/app/models/__init__.py` (追加 6 个 import + 6 个 __all__ 条目) + +**参考:** 现有 `BizProcess` (line 1854)、`BizProcessReagent` (line 1878)、`BizProcessConsumable` (line 1902)、`BizProcessOutput` (line 1926) 的写法。 + +- [ ] **Step 1: 在 `models.py` 末尾追加 6 个 Model** + +在 `from app.models.qc_param import ...` 这行之前,追加以下内容: + +```python +class BizProcessRoute(Base): + """工艺路线 biz_process_route""" + __tablename__ = "biz_process_route" + + id = Column(String(64), primary_key=True, comment="主键ID") + route_code = Column(String(64), nullable=False, comment="路线编码") + route_name = Column(String(100), nullable=False, comment="路线名称") + product_type_id = Column(String(64), nullable=True, comment="细胞产品类型ID") + version = Column(String(50), nullable=True, comment="版本号") + is_current = Column(CHAR(1), nullable=True, default="0", comment="是否当前版本(0-否 1-是)") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStep(Base): + """路线工序步骤 biz_process_route_step""" + __tablename__ = "biz_process_route_step" + + id = Column(String(64), primary_key=True, comment="主键ID") + route_id = Column(String(64), nullable=False, comment="所属路线ID") + process_id = Column(String(64), nullable=True, comment="来源工艺库工艺ID") + step_order = Column(Integer, nullable=True, comment="步骤顺序") + process_code = Column(String(64), nullable=True, comment="工序代码(克隆)") + category_id = Column(String(64), nullable=True, comment="工序分类ID") + process_name = Column(String(100), nullable=True, comment="工序名称") + description = Column(String(500), nullable=True, comment="描述") + equipment_name = Column(String(200), nullable=True, comment="预计使用设备") + estimated_duration = Column(String(100), nullable=True, comment="预估耗时") + sop_ids = Column(String(1000), nullable=True, comment="关联SOP文档ID(逗号分隔)") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepReagent(Base): + """步骤试剂 biz_process_route_step_reagent""" + __tablename__ = "biz_process_route_step_reagent" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="所属步骤ID") + reagent_code = Column(String(64), nullable=True, comment="试剂编码") + reagent_name = Column(String(100), nullable=True, comment="试剂名称") + spec = Column(String(200), nullable=True, comment="规格") + standard_usage = Column(String(100), nullable=True, comment="标准用量") + unit = Column(String(64), nullable=True, comment="单位") + is_key_material = Column(CHAR(1), nullable=True, default="0", comment="是否关键物料(0-否 1-是)") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepConsumable(Base): + """步骤耗材 biz_process_route_step_consumable""" + __tablename__ = "biz_process_route_step_consumable" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="所属步骤ID") + consumable_code = Column(String(64), nullable=True, comment="耗材编码") + consumable_name = Column(String(100), nullable=True, comment="耗材名称") + spec_model = Column(String(200), nullable=True, comment="规格型号") + standard_usage = Column(String(100), nullable=True, comment="标准用量") + unit = Column(String(64), nullable=True, comment="单位") + is_required = Column(CHAR(1), nullable=True, default="1", comment="是否必需(1-必须 0-可选)") + remark = Column(String(512), nullable=True, comment="备注") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepOutput(Base): + """步骤产出物 biz_process_route_step_output""" + __tablename__ = "biz_process_route_step_output" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="所属步骤ID") + output_type_id = Column(String(64), nullable=True, comment="产出类型ID") + output_name = Column(String(200), nullable=True, comment="产出物名称") + output_barcode = Column(String(200), nullable=True, comment="产出物条码") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + +class BizProcessRouteStepDataCollection(Base): + """步骤数据采集 biz_process_route_step_data_collection""" + __tablename__ = "biz_process_route_step_data_collection" + + id = Column(String(64), primary_key=True, comment="主键ID") + step_id = Column(String(64), nullable=False, comment="所属步骤ID") + collection_name = Column(String(100), nullable=True, comment="采集信息名称") + unit = Column(String(64), nullable=True, comment="单位") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") +``` + +- [ ] **Step 2: 在 `__init__.py` 追加 import 和 __all__** + +在 import 块追加(在 `BizProcessDataCollection,` 之后): + +```python + BizProcessRoute, + BizProcessRouteStep, + BizProcessRouteStepReagent, + BizProcessRouteStepConsumable, + BizProcessRouteStepOutput, + BizProcessRouteStepDataCollection, +``` + +在 `__all__` 列表追加(在 `"BizProcessDataCollection",` 之后): + +```python + "BizProcessRoute", + "BizProcessRouteStep", + "BizProcessRouteStepReagent", + "BizProcessRouteStepConsumable", + "BizProcessRouteStepOutput", + "BizProcessRouteStepDataCollection", +``` + +- [ ] **Step 3: 验证后端能正常启动** + +Run: `cd backend && source venv/bin/activate && python -c "from app.models import BizProcessRoute, BizProcessRouteStep; print('Models OK')"` +Expected: `Models OK` + +- [ ] **Step 4: 提交** + +```bash +git add backend/app/models/models.py backend/app/models/__init__.py +git commit -m "feat: add process route SQLAlchemy models (6 classes)" +``` + +--- + +### Task 3: Pydantic Schemas + +**Files:** +- Create: `backend/app/schemas/process_route.py` + +**参考:** 后端现有模式是在 API 文件中 inline 定义 Pydantic schema。但本模块 schema 数量多(~15个),独立文件更清晰。 + +- [ ] **Step 1: 创建 schema 文件** + +```python +"""工艺路线管理 Pydantic Schemas""" +from pydantic import BaseModel, ConfigDict, Field +from typing import Optional, List + + +# --------------------------------------------------------------------------- +# 路线主表 +# --------------------------------------------------------------------------- + +class ProcessRouteCreateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_code: str = Field(..., alias="routeCode") + route_name: str = Field(..., alias="routeName") + product_type_id: Optional[str] = Field(None, alias="productTypeId") + version: Optional[str] = Field(None, alias="version") + remark: Optional[str] = None + + +class ProcessRouteUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_code: Optional[str] = Field(None, alias="routeCode") + route_name: Optional[str] = Field(None, alias="routeName") + product_type_id: Optional[str] = Field(None, alias="productTypeId") + version: Optional[str] = Field(None, alias="version") + remark: Optional[str] = None + + +class SetCurrentBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_id: str = Field(..., alias="routeId") + + +# --------------------------------------------------------------------------- +# 步骤基础信息 +# --------------------------------------------------------------------------- + +class StepUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + process_code: Optional[str] = Field(None, alias="processCode") + category_id: Optional[str] = Field(None, alias="categoryId") + process_name: Optional[str] = Field(None, alias="processName") + description: Optional[str] = None + equipment_name: Optional[str] = Field(None, alias="equipmentName") + estimated_duration: Optional[str] = Field(None, alias="estimatedDuration") + sop_ids: Optional[str] = Field(None, alias="sopIds") + + +class StepAddBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_id: str = Field(..., alias="routeId") + process_id: str = Field(..., alias="processId") + step_order: Optional[int] = Field(None, alias="stepOrder") + + +class StepReorderBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + route_id: str = Field(..., alias="routeId") + step_ids: List[str] = Field(..., alias="stepIds") + + +# --------------------------------------------------------------------------- +# 步骤子表 items +# --------------------------------------------------------------------------- + +class StepReagentItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + reagent_code: Optional[str] = Field(None, alias="reagentCode") + reagent_name: Optional[str] = Field(None, alias="reagentName") + spec: Optional[str] = None + standard_usage: Optional[str] = Field(None, alias="standardUsage") + unit: Optional[str] = None + is_key_material: Optional[str] = Field("0", alias="isKeyMaterial") + remark: Optional[str] = None + + +class StepConsumableItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + consumable_code: Optional[str] = Field(None, alias="consumableCode") + consumable_name: Optional[str] = Field(None, alias="consumableName") + spec_model: Optional[str] = Field(None, alias="specModel") + standard_usage: Optional[str] = Field(None, alias="standardUsage") + unit: Optional[str] = None + is_required: Optional[str] = Field("1", alias="isRequired") + remark: Optional[str] = None + + +class StepOutputItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + output_type_id: Optional[str] = Field(None, alias="outputTypeId") + output_name: Optional[str] = Field(None, alias="outputName") + output_barcode: Optional[str] = Field(None, alias="outputBarcode") + remark: Optional[str] = None + + +class StepDataCollectionItem(BaseModel): + model_config = ConfigDict(populate_by_name=True) + collection_name: Optional[str] = Field(None, alias="collectionName") + unit: Optional[str] = None + order_num: Optional[int] = Field(0, alias="orderNum") + remark: Optional[str] = None + + +# --------------------------------------------------------------------------- +# 子表更新 body(step_id + items[]) +# --------------------------------------------------------------------------- + +class StepSubTableUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List = Field(...) + + +class StepReagentUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepReagentItem] = Field(...) + + +class StepConsumableUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepConsumableItem] = Field(...) + + +class StepOutputUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepOutputItem] = Field(...) + + +class StepDataCollectionUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + step_id: str = Field(..., alias="stepId") + items: List[StepDataCollectionItem] = Field(...) +``` + +- [ ] **Step 2: 验证 import 正常** + +Run: `cd backend && source venv/bin/activate && python -c "from app.schemas.process_route import ProcessRouteCreateBody; print('Schemas OK')"` +Expected: `Schemas OK` + +- [ ] **Step 3: 提交** + +```bash +git add backend/app/schemas/process_route.py +git commit -m "feat: add process route Pydantic schemas" +``` + +--- + +### Task 4: CRUD 层 — process_route.py + +**Files:** +- Create: `backend/app/crud/process_route.py` + +**参考:** `backend/app/crud/process.py` 的完整模式:`_row_to_dict` 序列化、`_create_sub_*` 辅助函数、`_soft_delete_sub_records` 级联软删除、完整替换子表策略。 + +**本文件包含:** +1. 6 个 `_row_to_dict` 序列化函数 +2. 路线主表 CRUD:`list_routes`、`get_route`、`get_route_detail`、`create_route`、`update_route`、`soft_delete_route`、`set_current_route` +3. 步骤 CRUD:`add_step`(克隆工艺+子表)、`update_step`、`reorder_steps`、`soft_delete_step` +4. 子表更新:`update_step_reagents`、`update_step_consumables`、`update_step_outputs`、`update_step_data_collections` + +- [ ] **Step 1: 创建 CRUD 文件** + +文件内容遵循 `process.py` 模式,关键函数签名: + +```python +"""工艺路线 CRUD(biz_process_route + biz_process_route_step + 4张步骤子表)""" +from __future__ import annotations + +import math +from datetime import datetime +from typing import Any, Dict, List, Optional, Tuple + +from sqlalchemy import and_, func, or_ +from sqlalchemy.orm import Session + +from app.core.utils import generate_uuid +from app.models.models import ( + BizProcess, + BizProcessReagent, + BizProcessConsumable, + BizProcessOutput, + BizProcessDataCollection, + BizProcessRoute, + BizProcessRouteStep, + BizProcessRouteStepReagent, + BizProcessRouteStepConsumable, + BizProcessRouteStepOutput, + BizProcessRouteStepDataCollection, +) + + +# --------------------------------------------------------------------------- +# 序列化函数 +# --------------------------------------------------------------------------- + +def _route_row_to_dict(r: BizProcessRoute) -> Dict[str, Any]: + return { + "id": r.id, + "routeCode": r.route_code, + "routeName": r.route_name, + "productTypeId": r.product_type_id or "", + "version": r.version or "", + "isCurrent": r.is_current if r.is_current is not None else "0", + "tenantNo": r.tenant_no, + "orderNum": r.order_num if r.order_num is not None else 0, + "remark": r.remark or "", + "createTime": r.create_time.strftime("%Y-%m-%d %H:%M:%S") if r.create_time else "", + "updateTime": r.update_time.strftime("%Y-%m-%d %H:%M:%S") if r.update_time else "", + } + + +def _step_row_to_dict(s: BizProcessRouteStep) -> Dict[str, Any]: + return { + "id": s.id, + "routeId": s.route_id, + "processId": s.process_id or "", + "stepOrder": s.step_order if s.step_order is not None else 0, + "processCode": s.process_code or "", + "categoryId": s.category_id or "", + "processName": s.process_name or "", + "description": s.description or "", + "equipmentName": s.equipment_name or "", + "estimatedDuration": s.estimated_duration or "", + "sopIds": s.sop_ids or "", + "remark": s.remark or "", + } + + +def _step_reagent_row_to_dict(r: BizProcessRouteStepReagent) -> Dict[str, Any]: + return { + "id": r.id, + "stepId": r.step_id, + "reagentCode": r.reagent_code or "", + "reagentName": r.reagent_name or "", + "spec": r.spec or "", + "standardUsage": r.standard_usage or "", + "unit": r.unit or "", + "isKeyMaterial": r.is_key_material if r.is_key_material is not None else "0", + "remark": r.remark or "", + } + + +def _step_consumable_row_to_dict(c: BizProcessRouteStepConsumable) -> Dict[str, Any]: + return { + "id": c.id, + "stepId": c.step_id, + "consumableCode": c.consumable_code or "", + "consumableName": c.consumable_name or "", + "specModel": c.spec_model or "", + "standardUsage": c.standard_usage or "", + "unit": c.unit or "", + "isRequired": c.is_required if c.is_required is not None else "1", + "remark": c.remark or "", + } + + +def _step_output_row_to_dict(o: BizProcessRouteStepOutput) -> Dict[str, Any]: + return { + "id": o.id, + "stepId": o.step_id, + "outputTypeId": o.output_type_id or "", + "outputName": o.output_name or "", + "outputBarcode": o.output_barcode or "", + "remark": o.remark or "", + } + + +def _step_data_collection_row_to_dict(d: BizProcessRouteStepDataCollection) -> Dict[str, Any]: + return { + "id": d.id, + "stepId": d.step_id, + "collectionName": d.collection_name or "", + "unit": d.unit or "", + "orderNum": d.order_num if d.order_num is not None else 0, + "remark": d.remark or "", + } + + +# --------------------------------------------------------------------------- +# 路线主表 CRUD +# --------------------------------------------------------------------------- + +def list_routes(db: Session, *, page: int = 1, page_size: int = 10, + route_name: Optional[str] = None, route_code: Optional[str] = None, + product_type_id: Optional[str] = None, + tenant_no: Optional[str] = None) -> Tuple[List[Dict], int]: + """路线分页列表,支持 route_name 模糊、route_code 精确、product_type_id 筛选""" + def _filtered(): + q = db.query(BizProcessRoute).filter(BizProcessRoute.del_flag == 0) + if tenant_no: + q = q.filter(BizProcessRoute.tenant_no == tenant_no) + if route_name and route_name.strip(): + q = q.filter(BizProcessRoute.route_name.like(f"%{route_name.strip()}%")) + if route_code and route_code.strip(): + q = q.filter(BizProcessRoute.route_code == route_code.strip()) + if product_type_id and product_type_id.strip(): + q = q.filter(BizProcessRoute.product_type_id == product_type_id.strip()) + return q + + total = _filtered().order_by(None).with_entities(func.count(BizProcessRoute.id)).scalar() or 0 + page = max(1, page) + page_size = min(max(1, page_size), 100) + rows = ( + _filtered() + .order_by(BizProcessRoute.order_num.asc().nullslast(), BizProcessRoute.create_time.desc()) + .offset((page - 1) * page_size) + .limit(page_size) + .all() + ) + return [_route_row_to_dict(x) for x in rows], int(total) + + +def get_route(db: Session, route_id: str) -> Optional[BizProcessRoute]: + return db.query(BizProcessRoute).filter( + and_(BizProcessRoute.id == route_id, BizProcessRoute.del_flag == 0) + ).first() + + +def get_route_detail(db: Session, route_id: str) -> Optional[Dict[str, Any]]: + """路线详情 = 主表 + 步骤列表(含每个步骤的4张子表)""" + route = get_route(db, route_id) + if not route: + return None + result = _route_row_to_dict(route) + + steps = ( + db.query(BizProcessRouteStep) + .filter(and_(BizProcessRouteStep.route_id == route_id, BizProcessRouteStep.del_flag == 0)) + .order_by(BizProcessRouteStep.step_order.asc(), BizProcessRouteStep.create_time.asc()) + .all() + ) + step_list = [] + for s in steps: + sd = _step_row_to_dict(s) + # 加载4张子表 + reagents = db.query(BizProcessRouteStepReagent).filter( + and_(BizProcessRouteStepReagent.step_id == s.id, BizProcessRouteStepReagent.del_flag == 0) + ).order_by(BizProcessRouteStepReagent.create_time.asc()).all() + consumables = db.query(BizProcessRouteStepConsumable).filter( + and_(BizProcessRouteStepConsumable.step_id == s.id, BizProcessRouteStepConsumable.del_flag == 0) + ).order_by(BizProcessRouteStepConsumable.create_time.asc()).all() + outputs = db.query(BizProcessRouteStepOutput).filter( + and_(BizProcessRouteStepOutput.step_id == s.id, BizProcessRouteStepOutput.del_flag == 0) + ).order_by(BizProcessRouteStepOutput.create_time.asc()).all() + data_collections = db.query(BizProcessRouteStepDataCollection).filter( + and_(BizProcessRouteStepDataCollection.step_id == s.id, BizProcessRouteStepDataCollection.del_flag == 0) + ).order_by(BizProcessRouteStepDataCollection.order_num.asc()).all() + + sd["reagents"] = [_step_reagent_row_to_dict(r) for r in reagents] + sd["consumables"] = [_step_consumable_row_to_dict(c) for c in consumables] + sd["outputs"] = [_step_output_row_to_dict(o) for o in outputs] + sd["dataCollections"] = [_step_data_collection_row_to_dict(d) for d in data_collections] + step_list.append(sd) + + result["steps"] = step_list + return result + + +def create_route(db: Session, *, route_code: str, route_name: str, + product_type_id: Optional[str] = None, version: Optional[str] = None, + remark: Optional[str] = None, tenant_no: str = "zkxw", + user_id: Optional[str] = None) -> BizProcessRoute: + rc = (route_code or "").strip() + if not rc: + raise ValueError("路线编码不能为空") + now = datetime.now() + obj = BizProcessRoute( + id=generate_uuid(), + route_code=rc, + route_name=(route_name or "").strip() or rc, + product_type_id=(product_type_id or "").strip() or None, + version=(version or "").strip() or None, + is_current="0", + tenant_no=tenant_no, + order_num=0, + remark=(remark or "").strip() or None, + create_by=user_id, + create_dept_id="", + create_time=now, + update_by=user_id, + update_time=now, + del_flag=0, + ) + db.add(obj) + db.commit() + db.refresh(obj) + return obj + + +def update_route(db: Session, route_id: str, *, user_id: Optional[str] = None, **kwargs) -> BizProcessRoute: + obj = get_route(db, route_id) + if not obj: + raise ValueError("路线不存在") + for field in ["route_code", "route_name", "product_type_id", "version", "remark"]: + val = kwargs.get(field) + if val is not None: + setattr(obj, field, (val or "").strip() or None if field != "route_code" else (val or "").strip()) + obj.update_by = user_id + obj.update_time = datetime.now() + db.add(obj) + db.commit() + db.refresh(obj) + return obj + + +def set_current_route(db: Session, route_id: str, tenant_no: str) -> BizProcessRoute: + """设置指定路线为当前版本:同 route_code 下先全部置0,再置目标为1""" + obj = get_route(db, route_id) + if not obj: + raise ValueError("路线不存在") + now = datetime.now() + # 同编码全部置0 + siblings = db.query(BizProcessRoute).filter( + and_(BizProcessRoute.route_code == obj.route_code, + BizProcessRoute.tenant_no == tenant_no, + BizProcessRoute.del_flag == 0) + ).all() + for s in siblings: + s.is_current = "0" + s.update_time = now + db.add(s) + # 目标置1 + obj.is_current = "1" + obj.update_time = now + db.add(obj) + db.commit() + db.refresh(obj) + return obj + + +# --------------------------------------------------------------------------- +# 步骤子表辅助 +# --------------------------------------------------------------------------- + +def _soft_delete_sub_records(db: Session, model_class, step_id: str, now: datetime) -> None: + rows = db.query(model_class).filter( + and_(model_class.step_id == step_id, model_class.del_flag == 0) + ).all() + for r in rows: + r.del_flag = 1 + r.update_time = now + db.add(r) + + +def _create_step_reagent(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepReagent( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + reagent_code=(data.get("reagent_code") or "").strip() or None, + reagent_name=(data.get("reagent_name") or "").strip() or None, + spec=(data.get("spec") or "").strip() or None, + standard_usage=(data.get("standard_usage") or "").strip() or None, + unit=(data.get("unit") or "").strip() or None, + is_key_material=data.get("is_key_material", "0"), + remark=(data.get("remark") or "").strip() or None, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +def _create_step_consumable(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepConsumable( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + consumable_code=(data.get("consumable_code") or "").strip() or None, + consumable_name=(data.get("consumable_name") or "").strip() or None, + spec_model=(data.get("spec_model") or "").strip() or None, + standard_usage=(data.get("standard_usage") or "").strip() or None, + unit=(data.get("unit") or "").strip() or None, + is_required=data.get("is_required", "1"), + remark=(data.get("remark") or "").strip() or None, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +def _create_step_output(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepOutput( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + output_type_id=(data.get("output_type_id") or "").strip() or None, + output_name=(data.get("output_name") or "").strip() or None, + output_barcode=(data.get("output_barcode") or "").strip() or None, + remark=(data.get("remark") or "").strip() or None, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +def _create_step_data_collection(db, step_id, tenant_no, user_id, now, data): + db.add(BizProcessRouteStepDataCollection( + id=generate_uuid(), step_id=step_id, tenant_no=tenant_no, + collection_name=(data.get("collection_name") or "").strip() or None, + unit=(data.get("unit") or "").strip() or None, + order_num=data.get("order_num", 0) or 0, + remark=(data.get("remark") or "").strip() or None, + create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + +# --------------------------------------------------------------------------- +# 步骤 CRUD +# --------------------------------------------------------------------------- + +def add_step(db: Session, *, route_id: str, process_id: str, step_order: Optional[int] = None, + tenant_no: str = "zkxw", user_id: Optional[str] = None) -> Dict[str, Any]: + """从工艺库克隆创建步骤""" + route = get_route(db, route_id) + if not route: + raise ValueError("路线不存在") + + # 读取源工艺 + proc = db.query(BizProcess).filter( + and_(BizProcess.id == process_id, BizProcess.del_flag == 0) + ).first() + if not proc: + raise ValueError("工艺不存在") + + now = datetime.now() + # 计算 step_order + if step_order is None: + max_order = db.query(func.max(BizProcessRouteStep.step_order)).filter( + and_(BizProcessRouteStep.route_id == route_id, BizProcessRouteStep.del_flag == 0) + ).scalar() + step_order = (max_order or 0) + 1 + + step = BizProcessRouteStep( + id=generate_uuid(), route_id=route_id, process_id=process_id, + step_order=step_order, + process_code=proc.process_code, category_id=proc.category_id, + process_name=proc.process_name, description=proc.description, + equipment_name=proc.equipment_name, estimated_duration=proc.estimated_duration, + sop_ids=proc.sop_ids, + tenant_no=tenant_no, order_num=0, + remark=None, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + ) + db.add(step) + db.flush() + + # 克隆4张子表 + src_reagents = db.query(BizProcessReagent).filter( + and_(BizProcessReagent.process_id == process_id, BizProcessReagent.del_flag == 0) + ).all() + for r in src_reagents: + _create_step_reagent(db, step.id, tenant_no, user_id, now, { + "reagent_code": r.reagent_code, "reagent_name": r.reagent_name, + "spec": r.spec, "standard_usage": r.standard_usage, + "unit": r.unit, "is_key_material": r.is_key_material, + }) + + src_consumables = db.query(BizProcessConsumable).filter( + and_(BizProcessConsumable.process_id == process_id, BizProcessConsumable.del_flag == 0) + ).all() + for c in src_consumables: + _create_step_consumable(db, step.id, tenant_no, user_id, now, { + "consumable_code": c.consumable_code, "consumable_name": c.consumable_name, + "spec_model": c.spec_model, "standard_usage": c.standard_usage, + "unit": c.unit, "is_required": c.is_required, "remark": c.remark, + }) + + src_outputs = db.query(BizProcessOutput).filter( + and_(BizProcessOutput.process_id == process_id, BizProcessOutput.del_flag == 0) + ).all() + for o in src_outputs: + _create_step_output(db, step.id, tenant_no, user_id, now, { + "output_type_id": o.output_type_id, "output_name": o.output_name, + "output_barcode": o.output_barcode, + }) + + src_collections = db.query(BizProcessDataCollection).filter( + and_(BizProcessDataCollection.process_id == process_id, BizProcessDataCollection.del_flag == 0) + ).all() + for d in src_collections: + _create_step_data_collection(db, step.id, tenant_no, user_id, now, { + "collection_name": d.collection_name, "unit": d.unit, "order_num": d.order_num, + }) + + db.commit() + + # 返回完整 step(含子表) + return get_route_detail(db, route_id)["steps"][-1] if get_route_detail(db, route_id)["steps"] else _step_row_to_dict(step) + + +def update_step(db: Session, step_id: str, *, user_id: Optional[str] = None, **kwargs) -> BizProcessRouteStep: + step = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == step_id, BizProcessRouteStep.del_flag == 0) + ).first() + if not step: + raise ValueError("步骤不存在") + for field in ["process_code", "category_id", "process_name", "description", + "equipment_name", "estimated_duration", "sop_ids"]: + val = kwargs.get(field) + if val is not None: + setattr(step, field, (val or "").strip() or None) + step.update_by = user_id + step.update_time = datetime.now() + db.add(step) + db.commit() + db.refresh(step) + return step + + +def reorder_steps(db: Session, route_id: str, step_ids: List[str]) -> None: + """按 step_ids 数组顺序更新 step_order""" + now = datetime.now() + for idx, sid in enumerate(step_ids): + step = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == sid, BizProcessRouteStep.route_id == route_id, + BizProcessRouteStep.del_flag == 0) + ).first() + if step: + step.step_order = idx + 1 + step.update_time = now + db.add(step) + db.commit() + + +def soft_delete_step(db: Session, step_id: str) -> None: + step = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.id == step_id, BizProcessRouteStep.del_flag == 0) + ).first() + if not step: + raise ValueError("步骤不存在") + now = datetime.now() + step.del_flag = 1 + step.update_time = now + db.add(step) + _soft_delete_sub_records(db, BizProcessRouteStepReagent, step_id, now) + _soft_delete_sub_records(db, BizProcessRouteStepConsumable, step_id, now) + _soft_delete_sub_records(db, BizProcessRouteStepOutput, step_id, now) + _soft_delete_sub_records(db, BizProcessRouteStepDataCollection, step_id, now) + db.commit() + + +def soft_delete_route(db: Session, route_id: str) -> None: + """级联软删除路线 + 所有步骤 + 所有步骤子表""" + route = get_route(db, route_id) + if not route: + raise ValueError("路线不存在") + now = datetime.now() + route.del_flag = 1 + route.update_time = now + db.add(route) + + steps = db.query(BizProcessRouteStep).filter( + and_(BizProcessRouteStep.route_id == route_id, BizProcessRouteStep.del_flag == 0) + ).all() + for s in steps: + s.del_flag = 1 + s.update_time = now + db.add(s) + _soft_delete_sub_records(db, BizProcessRouteStepReagent, s.id, now) + _soft_delete_sub_records(db, BizProcessRouteStepConsumable, s.id, now) + _soft_delete_sub_records(db, BizProcessRouteStepOutput, s.id, now) + _soft_delete_sub_records(db, BizProcessRouteStepDataCollection, s.id, now) + db.commit() + + +# --------------------------------------------------------------------------- +# 子表完整替换更新 +# --------------------------------------------------------------------------- + +def update_step_reagents(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepReagent, step_id, now) + for it in items: + _create_step_reagent(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def update_step_consumables(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepConsumable, step_id, now) + for it in items: + _create_step_consumable(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def update_step_outputs(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepOutput, step_id, now) + for it in items: + _create_step_output(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def update_step_data_collections(db: Session, step_id: str, items: List[Dict], tenant_no: str, user_id: Optional[str] = None): + now = datetime.now() + _soft_delete_sub_records(db, BizProcessRouteStepDataCollection, step_id, now) + for it in items: + _create_step_data_collection(db, step_id, tenant_no, user_id, now, it) + db.commit() + + +def total_pages(total: int, page_size: int) -> int: + if total <= 0: + return 0 + return int(math.ceil(total / float(page_size))) +``` + +- [ ] **Step 2: 验证 import 正常** + +Run: `cd backend && source venv/bin/activate && python -c "from app.crud.process_route import list_routes, add_step; print('CRUD OK')"` +Expected: `CRUD OK` + +- [ ] **Step 3: 提交** + +```bash +git add backend/app/crud/process_route.py +git commit -m "feat: add process route CRUD layer with clone and cascade delete" +``` + +--- + +### Task 5: API 路由 — 追加到 production.py + +**Files:** +- Modify: `backend/app/api/production.py` (文件末尾追加 ~200 行) + +**参考:** 现有 `production.py` 中的工艺库 API(line 735-943)模式:inline Pydantic 已改为从 `schemas/process_route.py` 导入,路由前缀为 `/web/admin`。 + +**注意:** 本模块的路由路径不按设计规格文档中的 `/api/admin/production/route/`,而是沿用现有模式 `/web/admin/process-routes/*`,保持与项目其他路由风格一致。 + +- [ ] **Step 1: 在 production.py 文件头部追加 import** + +在 `from app.crud import process as process_svc` 之后追加: + +```python +from app.crud import process_route as route_svc +from app.schemas.process_route import ( + ProcessRouteCreateBody, + ProcessRouteUpdateBody, + SetCurrentBody, + StepAddBody, + StepUpdateBody, + StepReorderBody, + StepReagentUpdateBody, + StepConsumableUpdateBody, + StepOutputUpdateBody, + StepDataCollectionUpdateBody, +) +``` + +- [ ] **Step 2: 在文件末尾追加 API 路由** + +在 `delete_process` 函数之后追加以下全部路由: + +```python + +# --------------------------------------------------------------------------- +# 8. 工艺路线管理 +# --------------------------------------------------------------------------- + + +@router.get("/process-routes") +async def list_process_routes( + page: int = Query(1, ge=1), + pageSize: int = Query(10, ge=1, le=100, alias="pageSize"), + routeName: Optional[str] = None, + routeCode: Optional[str] = None, + productTypeId: Optional[str] = None, + user: dict = Depends(require_menu_code("production:process-route:list")), + db: Session = Depends(get_db), +): + tenant_no = _get_tenant_no(db, user) + items, total = route_svc.list_routes( + db, page=page, page_size=pageSize, + route_name=routeName, route_code=routeCode, + product_type_id=productTypeId, tenant_no=tenant_no, + ) + tp = route_svc.total_pages(total, pageSize) + return success_response({"list": items, "total": total, "page": page, "pageSize": pageSize, "totalPages": tp}) + + +@router.get("/process-routes/{route_id}") +async def get_process_route_detail( + route_id: str, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + detail = route_svc.get_route_detail(db, route_id) + if not detail: + return error_response(404, "路线不存在") + return success_response(detail) + + +@router.post("/process-routes") +async def create_process_route( + body: ProcessRouteCreateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + obj = route_svc.create_route( + db, + route_code=body.route_code, + route_name=body.route_name, + product_type_id=body.product_type_id, + version=body.version, + remark=body.remark, + tenant_no=tenant_no, + user_id=user.get("user_id"), + ) + return success_response(route_svc._route_row_to_dict(obj), message="创建成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/{route_id}") +async def update_process_route( + route_id: str, + body: ProcessRouteUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + payload = body.model_dump(exclude_unset=True, by_alias=False) + obj = route_svc.update_route( + db, route_id, + user_id=user.get("user_id"), + route_code=payload.get("route_code"), + route_name=payload.get("route_name"), + product_type_id=payload.get("product_type_id"), + version=payload.get("version"), + remark=payload.get("remark"), + ) + return success_response(route_svc._route_row_to_dict(obj), message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/set-current") +async def set_current_process_route( + body: SetCurrentBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + obj = route_svc.set_current_route(db, body.route_id, tenant_no) + return success_response(route_svc._route_row_to_dict(obj), message="设置成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.delete("/process-routes/{route_id}") +async def delete_process_route( + route_id: str, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + route_svc.soft_delete_route(db, route_id) + return success_response(None, message="删除成功") + except ValueError as e: + return error_response(400, str(e)) + + +# ----- 步骤操作 ----- + +@router.post("/process-routes/step/add") +async def add_route_step( + body: StepAddBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + step_data = route_svc.add_step( + db, + route_id=body.route_id, + process_id=body.process_id, + step_order=body.step_order, + tenant_no=tenant_no, + user_id=user.get("user_id"), + ) + return success_response(step_data, message="添加成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/update") +async def update_route_step( + body: StepUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + payload = body.model_dump(exclude_unset=True, by_alias=False) + payload.pop("step_id", None) + obj = route_svc.update_step(db, body.step_id, user_id=user.get("user_id"), **payload) + return success_response(route_svc._step_row_to_dict(obj), message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/reorder") +async def reorder_route_steps( + body: StepReorderBody, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + route_svc.reorder_steps(db, body.route_id, body.step_ids) + return success_response(None, message="排序成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.delete("/process-routes/step/{step_id}") +async def delete_route_step( + step_id: str, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + route_svc.soft_delete_step(db, step_id) + return success_response(None, message="删除成功") + except ValueError as e: + return error_response(400, str(e)) + + +# ----- 步骤子表 ----- + +@router.put("/process-routes/step/reagent/update") +async def update_step_reagents( + body: StepReagentUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_reagents(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/consumable/update") +async def update_step_consumables( + body: StepConsumableUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_consumables(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/output/update") +async def update_step_outputs( + body: StepOutputUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_outputs(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.put("/process-routes/step/data-collection/update") +async def update_step_data_collections( + body: StepDataCollectionUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + items_data = [it.model_dump(by_alias=False) for it in body.items] + route_svc.update_step_data_collections(db, body.step_id, items_data, tenant_no, user.get("user_id")) + return success_response(None, message="更新成功") + except ValueError as e: + return error_response(400, str(e)) +``` + +- [ ] **Step 2: 验证后端启动正常** + +Run: `cd backend && source venv/bin/activate && python -c "from app.api.production import router; print(f'Routes: {len(router.routes)}')"` +Expected: 输出路由数量(应比原来增加约 15 个) + +- [ ] **Step 3: 启动后端验证 Swagger** + +Run: `cd backend && source venv/bin/activate && uvicorn app.main:app --reload --port 8000` +打开 `http://127.0.0.1:8000/docs`,搜索 `process-routes`,确认所有端点可见。 + +- [ ] **Step 4: 提交** + +```bash +git add backend/app/api/production.py +git commit -m "feat: add process route API endpoints (14 routes)" +``` + +--- + +### Task 6: 前端 API 函数 — 追加到 production.ts + +**Files:** +- Modify: `web-admin/src/api/production.ts` (文件末尾追加) + +- [ ] **Step 1: 在 `production.ts` 文件末尾追加工艺路线 API 函数** + +```typescript + +// --------------------------------------------------------------------------- +// 工艺路线管理 +// --------------------------------------------------------------------------- + +export function fetchProcessRouteList(params?: { + page?: number + pageSize?: number + routeName?: string + routeCode?: string + productTypeId?: string +}) { + return request.get<{ + list: any[] + total: number + page: number + pageSize: number + totalPages: number + }>({ url: '/web/admin/process-routes', params }) +} + +export function fetchProcessRouteDetail(id: string) { + return request.get({ url: `/web/admin/process-routes/${id}` }) +} + +export function fetchCreateProcessRoute(data: Record) { + return request.post({ url: '/web/admin/process-routes', params: data }) +} + +export function fetchUpdateProcessRoute(id: string, data: Record) { + return request.put({ url: `/web/admin/process-routes/${id}`, params: data }) +} + +export function fetchSetCurrentProcessRoute(routeId: string) { + return request.put({ url: '/web/admin/process-routes/set-current', params: { routeId } }) +} + +export function fetchDeleteProcessRoute(id: string) { + return request.del({ url: `/web/admin/process-routes/${id}` }) +} + +// 步骤操作 +export function fetchAddRouteStep(data: { routeId: string; processId: string; stepOrder?: number }) { + return request.post({ url: '/web/admin/process-routes/step/add', params: data }) +} + +export function fetchUpdateRouteStep(data: Record) { + return request.put({ url: '/web/admin/process-routes/step/update', params: data }) +} + +export function fetchReorderRouteSteps(data: { routeId: string; stepIds: string[] }) { + return request.put({ url: '/web/admin/process-routes/step/reorder', params: data }) +} + +export function fetchDeleteRouteStep(stepId: string) { + return request.del({ url: `/web/admin/process-routes/step/${stepId}` }) +} + +// 步骤子表 +export function fetchUpdateStepReagents(data: { stepId: string; items: any[] }) { + return request.put({ url: '/web/admin/process-routes/step/reagent/update', params: data }) +} + +export function fetchUpdateStepConsumables(data: { stepId: string; items: any[] }) { + return request.put({ url: '/web/admin/process-routes/step/consumable/update', params: data }) +} + +export function fetchUpdateStepOutputs(data: { stepId: string; items: any[] }) { + return request.put({ url: '/web/admin/process-routes/step/output/update', params: data }) +} + +export function fetchUpdateStepDataCollections(data: { stepId: string; items: any[] }) { + return request.put({ url: '/web/admin/process-routes/step/data-collection/update', params: data }) +} +``` + +- [ ] **Step 2: 验证无 TypeScript 报错** + +Run: `cd web-admin && pnpm build:typecheck` +Expected: 无新增错误 + +- [ ] **Step 3: 提交** + +```bash +git add web-admin/src/api/production.ts +git commit -m "feat: add process route frontend API functions" +``` + +--- + +### Task 7: 前端路由 — 追加到 sqxp.ts + +**Files:** +- Modify: `web-admin/src/router/modules/sqxp.ts` + +- [ ] **Step 1: 在 ProductionManagement 的 children 数组中追加路由条目** + +在 `ProductionSop` 路由对象之后(`path: 'sop'` 那一项),追加: + +```typescript + { + id: '90000000000000000000000000000010', + name: 'ProductionProcessRoute', + path: 'process-route', + component: '/production/process-route/index', + meta: { title: '工艺路线管理', keepAlive: true, menuCode: 'production:process-route:list' } + } +``` + +- [ ] **Step 2: 提交** + +```bash +git add web-admin/src/router/modules/sqxp.ts +git commit -m "feat: add process route frontend route" +``` + +--- + +### Task 8: 前端页面 — 列表页 + 路线图配置弹窗 + +**Files:** +- Create: `web-admin/src/views/production/process-route/index.vue` + +**参考:** +- 列表页结构: `src/views/system/unit/index.vue`(标准列表模板) +- 三栏拖拽弹窗: 设计规格文档「前端设计 > 路线图配置弹窗」章节 +- vue-draggable-plus 用法: `src/views/system/product/index.vue`(`import { VueDraggable as draggable } from 'vue-draggable-plus'`) +- 工艺库详情编辑: `src/views/production/process/index.vue`(子表 inline 表格模式) + +**本页面约 1800-2200 行,包含:** +1. 列表页(搜索栏 + 工具栏 + 表格 + 分页) +2. 新增/编辑路线弹窗 +3. 路线图配置弹窗(三栏布局) + - 左栏:el-collapse 工艺库卡片(HTML5 draggable) + - 中栏:vue-draggable-plus 步骤卡片排序 + - 右栏:步骤详情编辑(基础信息 + 4 个 tab 子表) + +**因页面代码量大,此处给出完整骨架和关键交互逻辑,实施时按骨架填充。** + +- [ ] **Step 1: 创建页面文件骨架** + +创建 `web-admin/src/views/production/process-route/index.vue`,核心结构: + +```vue + + + + + 工艺路线管理 + 管理工艺路线基础信息及路线图配置。 + + + + + 路线列表 + + + + + + + + + + + + + + + + + + + + 按路线名称、编码、产品类型筛选。 + + 重置 + 搜索 + + + + + + + + + 新增路线 + + + + + + + + + + + {{ getProductTypeName(row.productTypeId) }} + + + + + 当前 + + + + + + + 路线图配置 + 编辑 + 设为当前 + 删除 + + + + + ((pagination.page = 1), (pagination.pageSize = val), loadData())" + @current-change="(val) => ((pagination.page = val), loadData())" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 确定 + + + + + + + + + 工艺库 + + + + {{ proc.processName }} + {{ proc.processCode }} + + + + + + + + + 工艺流程布局 + + + + + + {{ index + 1 }} + {{ element.processName || '未命名' }} + + + + + + + + + + + + + + + + 工艺详情 + + + + + + + + + + + + + + + + + 预估耗时(min) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +**关键 CSS(追加在 ` + + diff --git a/web-admin/src/components/business/sample-qc-info-cards/index.vue b/web-admin/src/components/business/sample-qc-info-cards/index.vue new file mode 100644 index 00000000..add194f6 --- /dev/null +++ b/web-admin/src/components/business/sample-qc-info-cards/index.vue @@ -0,0 +1,299 @@ + + + + 质检信息 + + {{ emptyHint }} + + + + + 工单号 + {{ qcInfo.workOrderNo || '—' }} + + + 业务类型 + {{ + qcInfo.qcBizTypeLabel || qcBizTypeLabel(qcInfo.qcBizType || '') + }} + + + 工单状态 + + + {{ qcInfo.workOrderStatusLabel || workOrderStatusLabel(qcInfo.workOrderStatus || '') }} + + + + + + + 工单待配置检测项目 + + + + + + {{ task.itemName || '—' }} + {{ + task.taskTypeLabel || taskTypeLabel(task.taskType || '') + }} + + + + 任务号 + {{ task.taskNo || '—' }} + + + 任务状态 + + + {{ task.taskStatusLabel || taskStatusLabel(task.taskStatus || '') }} + + + + + 检测结论 + + + {{ task.conclusionLabel || qcTaskConclusionLabel(task.conclusion) }} + + — + + + + + + 点击查看详情 + + + + + + + 暂无检测任务 + + + + + + + + + + + + diff --git a/web-admin/src/components/business/system-view-dialog/index.vue b/web-admin/src/components/business/system-view-dialog/index.vue index 289e6005..d22ff79d 100644 --- a/web-admin/src/components/business/system-view-dialog/index.vue +++ b/web-admin/src/components/business/system-view-dialog/index.vue @@ -3,11 +3,14 @@ @@ -25,7 +28,7 @@ {{ section.title }} - + {{ field.label }} - {{ field.value ?? '—' }} + + {{ field.value ?? '—' }} + {{ field.value ?? '—' }} + + @@ -52,24 +59,52 @@ import { computed, type Component } from 'vue' import { Close } from '@element-plus/icons-vue' + export type TagType = 'success' | 'warning' | 'danger' | 'info' | '' | 'primary' + export interface ViewField { label: string value: string | number | boolean | null | undefined span?: boolean + /** 传入后以 el-tag 渲染,值为 el-tag 的 type 属性 */ + tagType?: TagType } export interface ViewSection { title: string fields: ViewField[] + /** 区块内追加内容(如附件列表),对应具名插槽名 */ + slot?: string } - const props = defineProps<{ - visible: boolean - title: string - icon?: Component - meta?: string - sections: ViewSection[] - }>() + const props = withDefaults( + defineProps<{ + visible: boolean + title: string + icon?: Component + meta?: string + sections: ViewSection[] + /** 弹窗宽度,默认 720px */ + width?: string + /** 字段栅格列数,默认 2 */ + gridColumns?: 2 | 3 + /** 挂到 body,用于嵌套在其它弹窗内时叠层展示 */ + appendToBody?: boolean + /** 遮罩类名(可配合全局样式提高 z-index) */ + modalClass?: string + /** 附加 dialog class */ + dialogClass?: string + /** 紧凑布局:缩小头部/区块间距与内容区最大高度 */ + compact?: boolean + }>(), + { + width: '720px', + gridColumns: 2, + appendToBody: false, + modalClass: '', + dialogClass: '', + compact: false + } + ) const emit = defineEmits<{ (e: 'update:visible', val: boolean): void @@ -153,7 +188,11 @@ .view-kv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 12px 28px; + gap: 12px 20px; + + &--cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } } .view-kv { @@ -180,8 +219,15 @@ grid-column: 1 / -1; } + @media (max-width: 900px) { + .view-kv-grid--cols-3 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } + @media (max-width: 640px) { - .view-kv-grid { + .view-kv-grid, + .view-kv-grid--cols-3 { grid-template-columns: 1fr; } @@ -190,6 +236,60 @@ gap: 4px; } } + + .system-view-dialog--compact { + .dialog-scroll { + max-height: min(68vh, 560px); + } + + .view-hero { + gap: 12px; + padding: 12px 18px; + } + + .view-hero-icon { + width: 48px; + height: 48px; + border-radius: 10px; + + .el-icon { + font-size: 22px !important; + } + } + + .view-hero-main h2 { + margin-bottom: 4px; + font-size: 16px; + } + + .view-hero-meta { + font-size: 12px; + } + + .view-section { + padding: 12px 18px; + + h3 { + margin-bottom: 10px; + font-size: 13px; + } + } + + .view-kv-grid { + gap: 8px 16px; + } + + .view-kv { + font-size: 12px; + grid-template-columns: 84px 1fr; + } + } + + + diff --git a/web-admin/src/views/production/process/index.vue b/web-admin/src/views/production/process/index.vue index 9d7c7061..6c7377dd 100644 --- a/web-admin/src/views/production/process/index.vue +++ b/web-admin/src/views/production/process/index.vue @@ -112,7 +112,7 @@ /> - 数据采集 + + 数据采集 + 拖拽左侧手柄可调整排序 + 添加采集项 - + + + + + + - - - + + + {{ $index + 1 }} @@ -448,7 +456,7 @@ - 删除 + 删除 @@ -622,7 +630,9 @@
管理工艺路线基础信息及路线图配置。