-- 线索管理 SOP 全量 seed
-- 写入 tw_task_process：3 条 process（lead_process / visit_plan / opp_setup）
-- 对应 HY-G-LTC-SOP-001 的三大业务节点
-- 幂等：INSERT IGNORE

-- ============================================================
-- PROC-LEAD-PROCESS-001  线索统一处理
-- 步骤：lead_verify → assessment → kcp01_check → fast_track_gw → assignment → grading
-- 末节点 grading 按等级跨 process 路由到 visit_plan / nurture
-- ============================================================

INSERT IGNORE INTO tw_task_process
  (process_id, task_type, process_name, input_schema, steps, output_schema, version, is_active)
VALUES (
  'PROC-LEAD-PROCESS-001',
  'lead_process',
  '线索统一处理',
  '{"source_type":"sop-engine","fields":[{"key":"lead_id","label":"线索编码","type":"string","required":true},{"key":"customer_name","label":"客户名称","type":"string","required":true},{"key":"source_channel","label":"线索来源渠道","type":"string","required":false},{"key":"contact","label":"联系方式","type":"string","required":false},{"key":"business_line","label":"业务线 C/R/I/T/S","type":"string","required":false}],"validation":"lead_id 必填"}',
  '{"steps":[{"step_key":"lead_verify","type":"agent_prefill","executor":"SR-04","config":{"timeout":30,"brief":"依据 SOP-001 M1 段，验收线索10项SDRL清单，R类额外核查产品信息完整性"},"next":[{"to":"assessment"}]},{"step_key":"assessment","type":"human_form","executor":"SR-04","config":{"input_schema":{"fields":[{"key":"strategy_score","label":"战略匹配","type":"number"},{"key":"budget_score","label":"预算匹配","type":"number"},{"key":"decision_score","label":"决策层级","type":"number"},{"key":"timeline_score","label":"时间紧迫性","type":"number"},{"key":"competition_score","label":"竞争态势","type":"number"},{"key":"product_score","label":"产品维度评估","type":"number"},{"key":"negative_list","label":"负面清单触发","type":"boolean"},{"key":"score_total","label":"综合评分","type":"number"},{"key":"customer_type","label":"客户类型 strategic/standard","type":"string"},{"key":"requirement_clarity","label":"需求清晰度 clear/unclear","type":"string"},{"key":"budget_scale","label":"预算规模 large/medium/small","type":"string"}]}},"next":[{"to":"kcp01_check"}]},{"step_key":"kcp01_check","type":"kcp_check","executor":"system","config":{"checks":[{"field":"score_total","expr":"score_total >= 0 && score_total <= 100","message":"综合评分应在0-100之间"},{"field":"negative_list","expr":"negative_list !== undefined","message":"请完成负面清单筛查"},{"field":"strategy_score","expr":"strategy_score >= 0","message":"战略匹配评分不能为负"},{"field":"product_score","expr":"product_score >= 0 && product_score <= 20","message":"产品维度评分应在0-20之间"}]},"next":[{"to":"fast_track_gw"}]},{"step_key":"fast_track_gw","type":"exclusive_gateway","executor":"system","config":{},"next":[{"to":"grading","condition":"score_total >= 90 && customer_type == \\"strategic\\" && requirement_clarity == \\"clear\\" && budget_scale == \\"large\\"","label":"快速通道"},{"to":"assignment","condition":"","label":"标准流程"}]},{"step_key":"assignment","type":"human_form","executor":"SR-05","config":{"input_schema":{"fields":[{"key":"assigned_ar","label":"指派客户经理","type":"string"},{"key":"assign_reason","label":"指派理由","type":"string"}]}},"next":[{"to":"grading"}]},{"step_key":"grading","type":"human_confirm","executor":"MG-02","config":{"input_schema":{"fields":[{"key":"grade","label":"线索等级 A/B/C","type":"string"},{"key":"grade_reason","label":"分级理由","type":"string"}]}},"next":[{"to_process":"PROC-VISIT-PLAN-001","to_task_type":"visit_plan","to":"visit_create","condition":"grade == \\"A\\" || grade == \\"B\\"","label":"A/B级→拜访计划"},{"to":"nurture","condition":"grade == \\"C\\"","label":"C级→培育"}]},{"step_key":"nurture","type":"system_auto","executor":"system","config":{"action":"create_nurture_record","note":"写入 CRM 培育跟踪任务（TMP-063）"},"next":[]}]}',
  '{"target_type":"task_output","fields":[{"key":"grade","label":"线索等级"},{"key":"score_total","label":"综合评分"},{"key":"assigned_ar","label":"负责客户经理"},{"key":"kcp_result","label":"KCP结果"}],"format":"提交后写入 output_data"}',
  1, 1
);

-- ============================================================
-- PROC-VISIT-PLAN-001  拜访计划
-- 步骤：visit_create → visit_prepare → visit_execute → kcp02_check → visit_summary → opp_trigger
-- ============================================================

INSERT IGNORE INTO tw_task_process
  (process_id, task_type, process_name, input_schema, steps, output_schema, version, is_active)
VALUES (
  'PROC-VISIT-PLAN-001',
  'visit_plan',
  '拜访计划',
  '{"source_type":"process-route","fields":[{"key":"lead_id","label":"线索编码","type":"string","required":true},{"key":"grade","label":"线索等级","type":"string","required":true},{"key":"assigned_ar","label":"客户经理","type":"string","required":false},{"key":"source_task_id","label":"来源任务ID","type":"string","required":false}],"validation":"lead_id 必填"}',
  '{"steps":[{"step_key":"visit_create","type":"agent_prefill","executor":"AR-01","config":{"timeout":30,"brief":"依据 SOP-001 M3 段，基于线索等级制定拜访计划（A级5工作日/B级10工作日）"},"next":[{"to":"visit_prepare"}]},{"step_key":"visit_prepare","type":"human_form","executor":"AR-01","config":{"input_schema":{"fields":[{"key":"visit_date","label":"拜访日期","type":"string"},{"key":"visit_type","label":"拜访类型 初次/跟进/关键","type":"string"},{"key":"visit_objective","label":"拜访目标","type":"string"},{"key":"visit_attendees","label":"参会人员","type":"string"},{"key":"materials_ready","label":"材料是否就绪","type":"boolean"}]}},"next":[{"to":"visit_execute"}]},{"step_key":"visit_execute","type":"human_form","executor":"AR-01","config":{"input_schema":{"fields":[{"key":"visit_actual_date","label":"实际拜访日期","type":"string"},{"key":"contact_reached","label":"是否接触到决策层","type":"boolean"},{"key":"need_confirmed","label":"需求是否确认","type":"boolean"},{"key":"budget_probed","label":"预算是否探明","type":"boolean"},{"key":"next_action","label":"下一步行动","type":"string"}]}},"next":[{"to":"kcp02_check"}]},{"step_key":"kcp02_check","type":"kcp_check","executor":"system","config":{"checks":[{"field":"contact_reached","expr":"contact_reached !== undefined","message":"请确认是否接触决策层"},{"field":"need_confirmed","expr":"need_confirmed !== undefined","message":"请确认需求是否已确认"},{"field":"next_action","expr":"next_action && next_action.length > 0","message":"下一步行动不能为空"}]},"next":[{"to":"visit_summary"}]},{"step_key":"visit_summary","type":"human_form","executor":"AR-01","config":{"input_schema":{"fields":[{"key":"visit_conclusion","label":"拜访结论","type":"string"},{"key":"opp_potential","label":"商机潜力评估 high/medium/low","type":"string"},{"key":"advance_to_opp","label":"是否推进至商机立项","type":"boolean"}]}},"next":[{"to_process":"PROC-OPP-SETUP-001","to_task_type":"opp_setup","to":"opp_create","condition":"advance_to_opp == true","label":"推进商机立项"},{"to":"visit_close","condition":"","label":"暂不立项"}]},{"step_key":"visit_close","type":"system_auto","executor":"system","config":{"action":"update_lead_status","note":"更新 CRM 线索状态为"跟踪中""},"next":[]}]}',
  '{"target_type":"task_output","fields":[{"key":"visit_conclusion","label":"拜访结论"},{"key":"opp_potential","label":"商机潜力"},{"key":"advance_to_opp","label":"推进立项"},{"key":"kcp_result","label":"KCP结果"}],"format":"提交后写入 output_data"}',
  1, 1
);

-- ============================================================
-- PROC-OPP-SETUP-001  商机立项
-- 步骤：opp_create → need_analysis → solution_draft → kcp05_check → opp_submit → opp_approve
-- ============================================================

INSERT IGNORE INTO tw_task_process
  (process_id, task_type, process_name, input_schema, steps, output_schema, version, is_active)
VALUES (
  'PROC-OPP-SETUP-001',
  'opp_setup',
  '商机立项',
  '{"source_type":"process-route","fields":[{"key":"lead_id","label":"线索编码","type":"string","required":true},{"key":"opp_potential","label":"商机潜力","type":"string","required":false},{"key":"source_task_id","label":"来源任务ID","type":"string","required":false}],"validation":"lead_id 必填"}',
  '{"steps":[{"step_key":"opp_create","type":"agent_prefill","executor":"AR-01","config":{"timeout":60,"brief":"依据 SOP-001 M3 段及拜访结论，生成商机立项申请草稿（含需求分析、解决方案思路、预算估算）"},"next":[{"to":"need_analysis"}]},{"step_key":"need_analysis","type":"human_form","executor":"AR-01","config":{"input_schema":{"fields":[{"key":"customer_pain","label":"客户痛点","type":"string"},{"key":"solution_direction","label":"解决方案方向","type":"string"},{"key":"budget_estimate","label":"预算估算（万元）","type":"number"},{"key":"expected_revenue","label":"预期收入（万元）","type":"number"},{"key":"win_probability","label":"胜率估算 %","type":"number"}]}},"next":[{"to":"solution_draft"}]},{"step_key":"solution_draft","type":"human_form","executor":"SR-01","config":{"input_schema":{"fields":[{"key":"solution_outline","label":"解决方案大纲","type":"string"},{"key":"key_products","label":"核心产品/服务","type":"string"},{"key":"delivery_timeline","label":"交付周期","type":"string"},{"key":"competitive_advantage","label":"竞争优势","type":"string"}]}},"next":[{"to":"kcp05_check"}]},{"step_key":"kcp05_check","type":"kcp_check","executor":"system","config":{"checks":[{"field":"budget_estimate","expr":"budget_estimate > 0","message":"预算估算必须大于0"},{"field":"win_probability","expr":"win_probability >= 0 && win_probability <= 100","message":"胜率应在0-100之间"},{"field":"solution_outline","expr":"solution_outline && solution_outline.length > 10","message":"解决方案大纲不能过于简短"},{"field":"customer_pain","expr":"customer_pain && customer_pain.length > 0","message":"客户痛点不能为空"}]},"next":[{"to":"opp_submit"}]},{"step_key":"opp_submit","type":"human_form","executor":"AR-01","config":{"input_schema":{"fields":[{"key":"opp_name","label":"商机名称","type":"string"},{"key":"submit_comment","label":"提交说明","type":"string"}]}},"next":[{"to":"opp_approve"}]},{"step_key":"opp_approve","type":"human_confirm","executor":"MG-02","config":{"input_schema":{"fields":[{"key":"approve_result","label":"审批结果 approved/rejected","type":"string"},{"key":"approve_comment","label":"审批意见","type":"string"}]},"sla_hours":24},"next":[{"to":"opp_won","condition":"approve_result == \\"approved\\"","label":"立项通过"},{"to":"opp_back","condition":"approve_result == \\"rejected\\"","label":"驳回修改"}]},{"step_key":"opp_won","type":"system_auto","executor":"system","config":{"action":"create_opportunity","note":"在 CRM 创建正式商机，触发 SOP-002 商机推进"},"next":[]},{"step_key":"opp_back","type":"system_auto","executor":"system","config":{"action":"return_to_need_analysis","note":"退回需求分析步骤重新填写"},"next":[{"to":"need_analysis"}]}]}',
  '{"target_type":"task_output","fields":[{"key":"opp_name","label":"商机名称"},{"key":"approve_result","label":"立项结果"},{"key":"expected_revenue","label":"预期收入"},{"key":"kcp_result","label":"KCP结果"}],"format":"提交后写入 output_data"}',
  1, 1
);
