Files
tcpserver-flow/app/config/custom_process_config.php
T
2026-03-08 22:58:56 +08:00

272 lines
13 KiB
PHP

<?php
/**
* 流程配置示例文件
* 演示如何灵活配置不同医院的业务流程
*/
return [
// ============================================
// 示例1: 标准完整流程(默认配置)
// 晨洗→清洗→漂洗→消毒→终末漂洗→干燥→结束
// ============================================
'standard' => [
'name' => '标准完整流程',
'description' => '包含所有步骤的完整清洗流程',
// 覆盖 steps
'override_steps' => false,
'morning_wash' => [
'mode' => 'daily_first', // 每天第一次需要晨洗
'storage_threshold' => 4,
'morning_start_time' => '00:00:00',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => true],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true,'required' => ['结束','晨洗']],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
'time_validation' => [
'手工洗' => [
'清洗' => 120,
'漂洗' => 60,
'消毒' => 300,
'终末漂洗' => 120,
'干燥' => 30,
'机洗' => 360,
]
],
],
// ============================================
// 示例2: 无晨洗流程
// 医院不需要晨洗功能
// 清洗→漂洗→消毒→终末漂洗→干燥→结束
// ============================================
'no_morning_wash' => [
'name' => '无晨洗流程',
'description' => '医院不需要晨洗功能',
'morning_wash' => [
'mode' => 'none', // 完全禁用晨洗
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => false], // 禁用晨洗节点
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
],
// ============================================
// 示例3: 部分镜子需要晨洗(义乌模式)
// 根据存储时间判断:超过4小时需要晨洗
// ============================================
'partial_morning_wash' => [
'name' => '部分镜子晨洗(义乌模式)',
'description' => '普通镜柜超过4小时需要晨洗,无菌镜柜免晨消',
'morning_wash' => [
'mode' => 'storage_time', // 根据存储时间判断
'storage_threshold' => 4, // 4小时阈值
'morning_start_time' => '06:00:00',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => true],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
],
// ============================================
// 示例4: 无干燥流程
// 医院不需要干燥步骤,消毒后直接结束
// 清洗→漂洗→消毒→结束
// ============================================
'no_dry' => [
'name' => '无干燥流程',
'description' => '医院不需要干燥步骤',
'morning_wash' => [
'mode' => 'none',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => false],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => false], // 跳过终末漂洗
['code' => '干燥', 'class' => 'DryNode', 'enabled' => false], // 禁用干燥
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
],
// ============================================
// 示例5: 仅干燥流程
// 医院只有干燥步骤,没有完整清洗流程
// 干燥→结束
// ============================================
'dry_only' => [
'name' => '仅干燥流程',
'description' => '医院只有干燥步骤',
'morning_wash' => [
'mode' => 'none',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => false],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => false],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => false],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => false],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => false],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => false],
],
],
// ============================================
// 示例6: 机洗流程
// 清洗→机洗→终末漂洗→干燥→结束
// ============================================
'machine_wash' => [
'name' => '机洗流程',
'description' => '刷完机洗后接终末漂洗再干燥结束',
'morning_wash' => [
'mode' => 'none',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => false],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => false], // 跳过硬洗漂洗
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => false], // 跳过硬洗消毒
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
],
],
// ============================================
// 示例7: 简化流程
// 只刷一个清洗就结束
// 清洗→结束
// ============================================
'simple' => [
'name' => '简化流程',
'description' => '只刷一个清洗就结束',
'morning_wash' => [
'mode' => 'none',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => false],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => false],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => false],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => false],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => false],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => false],
],
],
// ============================================
// 示例8: 自定义语音流程
// 针对某个流程特殊定制语音
// ============================================
'custom_voice' => [
'name' => '自定义语音流程',
'description' => '针对流程特殊定制语音',
'morning_wash' => [
'mode' => 'daily_first',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => true],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
'voice_templates' => [
// 与 VoiceGenerationStrategy 中默认配置进行合并
'normal_wash' => [
'清洗' => '第一步清洗开始,请认真清洗',
'漂洗' => '第二步漂洗开始',
'消毒' => '第三步消毒开始,请确保消毒时间',
'终末漂洗' => '第四步终末漂洗开始',
'干燥' => '最后一步干燥开始',
'结束' => '清洗流程全部完成,请妥善保管内镜',
],
],
],
// ============================================
// 示例9: 特定类型镜子晨洗
// 只有特定类型的镜子需要晨洗
// ============================================
'specific_type_morning_wash' => [
'name' => '特定类型镜子晨洗',
'description' => '只有胃镜需要晨洗,肠镜不需要',
'morning_wash' => [
'mode' => 'specific_types',
'specific_types' => ['胃镜', '十二指肠镜'], // 只有这些类型需要晨洗
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => true],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
],
// ============================================
// 示例10: 自定义时间要求
// 不同医院对步骤时间有不同要求
// ============================================
'custom_duration' => [
'name' => '自定义时间要求',
'description' => '消毒时间要求10分钟',
// 覆盖 steps
'override_steps' => false,
'morning_wash' => [
'mode' => 'daily_first',
],
'steps' => [
['code' => '晨洗', 'class' => 'MorningWashNode', 'enabled' => true],
['code' => '清洗', 'class' => 'WashNode', 'enabled' => true],
['code' => '漂洗', 'class' => 'RinseNode', 'enabled' => true],
['code' => '消毒', 'class' => 'DisinfectNode', 'enabled' => true],
['code' => '终末漂洗', 'class' => 'FinalRinseNode', 'enabled' => true],
['code' => '干燥', 'class' => 'DryNode', 'enabled' => true],
['code' => '结束', 'class' => 'EndNode', 'enabled' => true],
['code' => '机洗', 'class' => 'MachineWashNode', 'enabled' => true],
],
'time_validation' => [
'durations' => [
'清洗' => 300, // 5分钟
'漂洗' => 120, // 2分钟
'消毒' => 600, // 10分钟(自定义)
'终末漂洗' => 180, // 3分钟(自定义)
'干燥' => 300, // 5分钟(自定义)
],
],
],
];