-- ============================================================================
-- OPMS 测试数据脚本
-- 包含交付项目、交付项目事件、运维事件及相关记录的完整测试数据
-- 确保所有业务关键字段都有值
-- ============================================================================

-- ============================================================================
-- 1. 基础数据（客户、合同、用户）
-- 这些通常在其他模块维护，这里提供参考ID
-- ============================================================================

-- 假设已有客户数据：
-- cust_customer: id=1 北京协和医院, id=2 上海瑞金医院, id=3 广州中山医院

-- 假设已有合同数据：
-- ctr_contract: id=1 HT2024001, id=2 HT2024002, id=3 HT2024003

-- 假设已有用户数据：
-- sys_user: id=1 张三(交付), id=2 李四(运维), id=3 王五(销售)

-- ============================================================================
-- 2. 交付项目表 (ops_delivery_project)
-- ============================================================================

-- 清理现有测试数据（谨慎使用）
-- DELETE FROM ops_delivery_project_event_attachment WHERE delivery_event_id IN (
--     SELECT id FROM ops_delivery_project_event WHERE project_id IN (1, 2, 3)
-- );
-- DELETE FROM ops_delivery_project_event_record WHERE delivery_event_id IN (
--     SELECT id FROM ops_delivery_project_event WHERE project_id IN (1, 2, 3)
-- );
-- DELETE FROM ops_delivery_project_event WHERE project_id IN (1, 2, 3);
-- DELETE FROM ops_delivery_project WHERE id IN (1, 2, 3);

INSERT INTO `ops_delivery_project` (
    `id`, `project_name`, `project_status`, `contract_id`, `contract_no`, 
    `cust_id`, `cust_name`, `product_line`, `delivery_user_id`, `delivery_user_name`,
    `sales_user_id`, `sales_user_name`, `sales_region_id`, `delivery_node`,
    `internal_kickoff_time`, `external_kickoff_time`, `delivery_plan_submit_time`,
    `deployment_time`, `trial_run_time`, `go_live_time`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES 
-- 项目1：Biobank项目 - 交付中
(1, '北京协和医院Biobank系统交付项目', '20', 1, 'HT2024001', 
 '1', '北京协和医院', '10', 1, '张三', 3, '王五', 1, '30',
 '2024-01-15 09:00:00', '2024-01-20 14:00:00', '2024-02-01 10:00:00',
 '2024-03-01 09:00:00', '2024-03-15 09:00:00', '2024-04-01 09:00:00',
 '重点项目，需要重点关注', 1, '张三', NOW(), 1, '张三', NOW()),

-- 项目2：LIMS项目 - 待交付
(2, '上海瑞金医院LIMS系统交付项目', '10', 2, 'HT2024002',
 '2', '上海瑞金医院', '20', 1, '张三', 3, '王五', 2, '10',
 NULL, NULL, NULL, NULL, NULL, NULL,
 '新项目，待启动', 1, '张三', NOW(), 1, '张三', NOW()),

-- 项目3：CellBank项目 - 交付完成
(3, '广州中山医院CellBank系统交付项目', '40', 3, 'HT2024003',
 '3', '广州中山医院', '30', 2, '李四', 3, '王五', 3, '60',
 '2024-02-01 09:00:00', '2024-02-10 14:00:00', '2024-02-20 10:00:00',
 '2024-03-20 09:00:00', '2024-04-01 09:00:00', '2024-04-15 09:00:00',
 '项目已顺利交付', 1, '张三', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 3. 交付项目事件表 (ops_delivery_project_event)
-- ============================================================================

INSERT INTO `ops_delivery_project_event` (
    `id`, `project_id`, `delivery_event_no`, `delivery_event_title`, `delivery_event_desc`,
    `delivery_event_type`, `delivery_event_status`, `delivery_event_result`,
    `feedback_source`, `feedback_reporter`, `feedback_date`,
    `ops_user_id`, `ops_user_name`, `assign_time`, `on_site`,
    `complete_time`, `complete_desc`, `delivery_event_id`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 项目1的事件
-- 事件1：内部启动会 - 已关闭
(1, 1, 'DE202400101', '内部启动会', '<p>项目启动，明确项目范围和交付计划</p><p>参与人员：张三、李四、王五</p>',
 '10', '30', '10', '30', '张三', '2024-01-10 10:00:00',
 1, '张三', '2024-01-10 10:30:00', '10',
 '2024-01-15 18:00:00', '已完成内部启动，确定项目计划', NULL,
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件2：外部启动会 - 已关闭
(2, 1, 'DE202400102', '外部启动会', '<p>与客户沟通项目需求和实施计划</p>',
 '15', '30', '10', '10', '客户代表', '2024-01-18 09:00:00',
 1, '张三', '2024-01-18 10:00:00', '10',
 '2024-01-20 17:00:00', '客户确认需求，启动会顺利完成', NULL,
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件3：制定计划 - 已关闭
(3, 1, 'DE202400103', '制定交付计划', '<p>根据客户需求制定详细交付计划</p>',
 '20', '30', '10', '30', '张三', '2024-01-22 09:00:00',
 1, '张三', '2024-01-22 09:30:00', '20',
 '2024-02-01 18:00:00', '交付计划已制定并通过客户审核', NULL,
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件4：系统培训 - 处理中
(4, 1, 'DE202400104', '系统使用培训', '<p>对客户进行系统使用培训</p><p>培训内容：基础操作、数据录入、报表生成</p>',
 '30', '20', NULL, '10', '客户IT部门', '2024-03-05 09:00:00',
 1, '张三', '2024-03-05 10:00:00', '10',
 NULL, NULL, NULL,
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件5：需求沟通 - 待处理
(5, 1, 'DE202400105', '新增报表需求沟通', '<p>客户反馈需要增加自定义报表功能</p>',
 '31', '10', NULL, '10', '客户业务人员', '2024-03-20 14:00:00',
 NULL, NULL, NULL, '20',
 NULL, NULL, NULL,
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 项目2的事件
-- 事件6：内部启动会 - 待处理
(6, 2, 'DE202400201', '内部启动会', '<p>项目启动准备</p>',
 '10', '10', NULL, '30', '张三', '2024-04-01 09:00:00',
 NULL, NULL, NULL, '10',
 NULL, NULL, NULL,
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 项目3的事件
-- 事件7：验收汇报 - 已关闭
(7, 3, 'DE202400301', '项目验收汇报', '<p>项目验收，客户签字确认</p>',
 '60', '30', '10', '10', '项目负责人', '2024-04-10 09:00:00',
 2, '李四', '2024-04-10 10:00:00', '10',
 '2024-04-15 18:00:00', '项目顺利验收，客户满意度高', NULL,
 '', 1, '张三', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 4. 交付项目事件处理记录表 (ops_delivery_project_event_record)
-- ============================================================================

INSERT INTO `ops_delivery_project_event_record` (
    `id`, `delivery_event_id`, `handle_user_id`, `handle_user_name`, `handle_content`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 事件1（内部启动会）的处理记录
(1, 1, 1, '张三', '<p>完成项目启动，确定了以下事项：</p><ul><li>交付范围确认</li><li>时间节点确认</li><li>责任人分配</li></ul>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

(2, 1, 1, '张三', '<p>上传了项目启动会议纪要</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件2（外部启动会）的处理记录
(3, 2, 1, '张三', '<p>与客户进行了充分沟通，明确了需求</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件3（制定计划）的处理记录
(4, 3, 1, '张三', '<p>交付计划已制定完成，等待客户审核</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

(5, 3, 1, '张三', '<p>客户已审核通过交付计划</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件4（系统培训）的处理记录
(6, 4, 1, '张三', '<p>已完成第一轮培训，客户反馈良好</p><p>下周进行第二轮进阶培训</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件7（验收汇报）的处理记录
(7, 7, 2, '李四', '<p>验收汇报顺利完成</p><p>客户确认项目交付完成，满意度评分：5分</p>',
 '', 1, '张三', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 5. 交付项目事件附件表 (ops_delivery_project_event_attachment)
-- 注意：event_id 字段已弃用，使用 delivery_event_id 和 event_record_id
-- ============================================================================

INSERT INTO `ops_delivery_project_event_attachment` (
    `id`, `delivery_event_id`, `event_id`, `event_record_id`, `file_name`, `file_url`, `file_type`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 事件1的附件（关联到事件本身，event_record_id为0）
(1, 1, 0, 0, '项目启动会议纪要.pdf', 'https://file.example.com/files/项目启动会议纪要.pdf', 'application/pdf',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

(2, 1, 0, 0, '项目计划表.xlsx', 'https://file.example.com/files/项目计划表.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件2的附件
(3, 2, 0, 0, '客户需求调研表.docx', 'https://file.example.com/files/客户需求调研表.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件1处理记录的附件（关联到记录ID=2）
(4, 1, 0, 2, '启动会现场照片.jpg', 'https://file.example.com/files/启动会现场照片.jpg', 'image/jpeg',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

-- 事件7的附件
(5, 7, 0, 0, '验收报告.pdf', 'https://file.example.com/files/验收报告.pdf', 'application/pdf',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(6, 7, 0, 0, '客户满意度调查表.pdf', 'https://file.example.com/files/客户满意度调查表.pdf', 'application/pdf',
 '', 2, '李四', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 6. 运维事件表 (ops_operation_event)
-- ============================================================================

INSERT INTO `ops_operation_event` (
    `id`, `event_no`, `event_title`, `event_desc`, `event_type`, `event_status`,
    `contract_id`, `contract_name`, `cust_id`, `cust_name`, `product_line`,
    `is_big`, `is_ops`, `priority_level`,
    `feedback_source`, `feedback_reporter`, `feedback_date`,
    `ops_user_id`, `ops_user_name`, `assign_time`,
    `complete_time`, `complete_desc`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 运维事件1：待处理
(1, 'OP2024001', '系统登录异常', '<p>用户反馈无法登录系统，提示密码错误</p>', '10', '10',
 1, 'HT2024001 - 北京协和医院Biobank项目合同', 1, '北京协和医院', '10',
 '10', '10', 'P1',
 '10', '客户IT管理员', '2024-03-25 09:00:00',
 NULL, NULL, NULL,
 NULL, NULL,
 '紧急事件', 1, '张三', NOW(), 1, '张三', NOW()),

-- 运维事件2：处理中
(2, 'OP2024002', '数据导入失败', '<p>客户导入Excel数据时系统报错</p>', '20', '20',
 1, 'HT2024001 - 北京协和医院Biobank项目合同', 1, '北京协和医院', '10',
 '20', '10', 'P2',
 '10', '业务人员', '2024-03-24 14:00:00',
 2, '李四', '2024-03-24 15:00:00',
 NULL, NULL,
 '', 1, '张三', NOW(), 2, '李四', NOW()),

-- 运维事件3：转研发
(3, 'OP2024003', '新增功能需求', '<p>客户需要增加批量导出功能</p>', '50', '30',
 2, 'HT2024002 - 上海瑞金医院LIMS项目合同', 2, '上海瑞金医院', '20',
 '20', '20', 'P3',
 '10', '业务经理', '2024-03-20 10:00:00',
 2, '李四', '2024-03-20 11:00:00',
 '2024-03-22 18:00:00', '需求已转研发部门评估',
 '二开需求', 1, '张三', NOW(), 2, '李四', NOW()),

-- 运维事件4：已关闭
(4, 'OP2024004', '报表显示异常', '<p>统计报表数据不正确</p>', '30', '80',
 3, 'HT2024003 - 广州中山医院CellBank项目合同', 3, '广州中山医院', '30',
 '20', '10', 'P2',
 '20', '销售代表', '2024-03-15 09:00:00',
 2, '李四', '2024-03-15 10:00:00',
 '2024-03-16 17:00:00', '数据缓存问题，已清理缓存并修复',
 '', 1, '张三', NOW(), 2, '李四', NOW()),

-- 运维事件5：处理中（挂起）
(5, 'OP2024005', '接口对接问题', '<p>与第三方系统对接失败</p>', '30', '70',
 1, 'HT2024001 - 北京协和医院Biobank项目合同', 1, '北京协和医院', '10',
 '10', '10', 'P1',
 '10', '客户技术负责人', '2024-03-10 09:00:00',
 2, '李四', '2024-03-10 10:00:00',
 NULL, '等待第三方提供接口文档',
 '挂起中，等待外部支持', 1, '张三', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 7. 运维事件处理记录表 (ops_operation_event_record)
-- ============================================================================

INSERT INTO `ops_operation_event_record` (
    `id`, `event_id`, `handle_user_id`, `handle_user_name`, `handle_content`,
    `handle_result`, `operate_type`, `handle_date`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 运维事件2的处理记录
(1, 2, 2, '李四', '<p>已联系客户，正在排查问题</p>', '30', '20', NOW(),
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(2, 2, 2, '李四', '<p>问题定位：Excel格式不规范导致解析失败</p><p>已指导客户调整格式</p>', '20', '20', NOW(),
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 运维事件3的处理记录
(3, 3, 2, '李四', '<p>需求已记录，评估工作量后转研发</p>', '30', '40', '2024-03-22 18:00:00',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 运维事件4的处理记录
(4, 4, 2, '李四', '<p>问题已修复，报表数据恢复正常</p>', '10', '80', '2024-03-16 17:00:00',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 运维事件5的处理记录
(5, 5, 2, '李四', '<p>已联系第三方，等待接口文档更新</p>', '30', '70', '2024-03-12 10:00:00',
 '挂起原因：外部依赖', 2, '李四', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 8. 运维事件附件表 (ops_operation_event_attachment)
-- ============================================================================

INSERT INTO `ops_operation_event_attachment` (
    `id`, `event_id`, `event_record_id`, `file_name`, `file_url`, `file_type`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 运维事件2的附件
(1, 2, 0, '错误截图.png', 'https://file.example.com/files/错误截图.png', 'image/png',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(2, 2, 0, '示例Excel模板.xlsx', 'https://file.example.com/files/示例Excel模板.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 运维事件3的附件
(3, 3, 0, '需求说明文档.docx', 'https://file.example.com/files/需求说明文档.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 运维事件4的附件
(4, 4, 0, '修复说明.pdf', 'https://file.example.com/files/修复说明.pdf', 'application/pdf',
 '', 2, '李四', NOW(), 2, '李四', NOW());

-- ============================================================================
-- 测试数据说明
-- ============================================================================
-- 
-- 交付项目 (ops_delivery_project):
-- - 项目1: Biobank系统，交付中，有完整的时间节点
-- - 项目2: LIMS系统，待交付
-- - 项目3: CellBank系统，交付完成
--
-- 交付项目事件 (ops_delivery_project_event):
-- - 事件类型覆盖：内部启动会(10)、外部启动会(15)、制定计划(20)、系统培训(30)、需求沟通(31)
-- - 事件状态覆盖：待处理(10)、处理中(20)、已关闭(30)
-- - 反馈来源覆盖：客户(10)、交付(30)
--
-- 运维事件 (ops_operation_event):
-- - 事件类型覆盖：操作咨询(10)、数据处理(20)、系统BUG(30)、二开需求(50)
-- - 事件状态覆盖：待处理(10)、处理中(20)、转研发(30)、挂起(70)、已关闭(80)
-- - 优先级覆盖：P1紧急、P2一般、P3低优
-- - 重点项目标记、运维期标记
--
-- 所有关键字段均已填充：
-- - 基础信息（编号、标题、描述）
-- - 业务信息（类型、状态、优先级）
-- - 关联信息（项目ID、合同ID、客户ID）
-- - 人员信息（负责人、反馈人、创建人）
-- - 时间信息（反馈时间、接单时间、完成时间）
-- - 处理记录和附件关联
--

-- ============================================================================
-- 9. 交付项目任务表 (ops_event_task)
-- 任务类型：10需求评审 20功能开发 30功能测试 40系统发版
-- 任务状态：10待处理 20处理中 25暂停 30已完成 70阻塞 90作废
-- 优先级：10紧急 20高 30中 40低
-- ============================================================================

INSERT INTO `ops_event_task` (
    `id`, `event_id`, `event_type`, `project_id`, `task_title`, `task_desc`, `task_type`, `task_status`,
    `ops_user_id`, `ops_user_name`, `plan_start_time`, `plan_end_time`, `complete_time`,
    `estimate_work_hour`, `actual_work_hour`, `task_parent_id`, `priority`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 项目1北京协和Biobank - 事件5（需求沟通）的关联任务
-- 任务1：需求评审任务 - 已完成
(1, 5, '10', 1, '自定义报表功能需求评审', '<p>对客户提出的自定义报表功能进行需求评审</p><p>评审要点：功能范围、技术可行性、工期评估</p>', '10', '30',
 2, '李四', '2024-03-21 09:00:00', '2024-03-22 18:00:00', '2024-03-22 16:00:00',
 16.0, 14.0, 0, '20',
 '', 1, '张三', NOW(), 2, '李四', NOW()),

-- 任务2：功能开发任务 - 处理中（任务1的子任务）
(2, 5, '10', 1, '自定义报表功能开发', '<p>实现自定义报表功能</p><p>包括：报表模板配置、数据源选择、报表生成与导出</p>', '20', '20',
 2, '李四', '2024-03-25 09:00:00', '2024-04-05 18:00:00', NULL,
 80.0, 32.0, 1, '20',
 '开发进度40%，正在进行报表模板引擎开发', 1, '张三', NOW(), 2, '李四', NOW()),

-- 任务3：功能测试任务 - 待处理（任务2的子任务）
(3, 5, '10', 1, '自定义报表功能测试', '<p>对自定义报表功能进行全面测试</p><p>测试范围：功能测试、性能测试、兼容性测试</p>', '30', '10',
 NULL, NULL, '2024-04-08 09:00:00', '2024-04-12 18:00:00', NULL,
 40.0, 0.0, 2, '30',
 '等待开发任务完成后启动', 1, '张三', NOW(), 1, '张三', NOW()),

-- 项目2上海瑞金LIMS - 事件6（内部启动会）的关联任务
-- 任务4：需求评审 - 待处理
(4, 6, '10', 2, 'LIMS系统需求评审', '<p>对LIMS系统整体需求进行评审</p><p>涉及模块：样本管理、实验流程、质控管理、报表中心</p>', '10', '10',
 NULL, NULL, '2024-04-05 09:00:00', '2024-04-10 18:00:00', NULL,
 40.0, 0.0, 0, '20',
 '项目启动准备阶段', 1, '张三', NOW(), 1, '张三', NOW()),

-- 任务5：系统发版任务 - 待处理
(5, 6, '10', 2, 'LIMS系统V1.0发版', '<p>LIMS系统首次发版</p><p>包含基础功能模块</p>', '40', '10',
 NULL, NULL, '2024-06-01 09:00:00', '2024-06-01 18:00:00', NULL,
 8.0, 0.0, 0, '10',
 '计划发版时间', 1, '张三', NOW(), 1, '张三', NOW()),

-- 项目3广州中山CellBank - 事件7（验收汇报）的历史任务
-- 任务6：需求评审 - 已完成
(6, 7, '10', 3, 'CellBank系统需求评审', '<p>CellBank系统需求评审会议</p><p>评审结果：需求明确，可以进入开发阶段</p>', '10', '30',
 2, '李四', '2024-02-15 09:00:00', '2024-02-16 18:00:00', '2024-02-16 15:00:00',
 16.0, 16.0, 0, '20',
 '评审通过', 1, '张三', NOW(), 2, '李四', NOW()),

-- 任务7：功能开发 - 已完成
(7, 7, '10', 3, 'CellBank核心功能开发', '<p>CellBank系统核心功能开发</p><p>包括：细胞库管理、冻存管理、复苏管理、质控管理</p>', '20', '30',
 2, '李四', '2024-02-20 09:00:00', '2024-03-15 18:00:00', '2024-03-14 18:00:00',
 120.0, 118.0, 6, '20',
 '开发完成，质量良好', 1, '张三', NOW(), 2, '李四', NOW()),

-- 任务8：功能测试 - 已完成
(8, 7, '10', 3, 'CellBank系统测试', '<p>CellBank系统全面测试</p><p>执行测试用例856个，通过率98.5%</p>', '30', '30',
 2, '李四', '2024-03-16 09:00:00', '2024-03-25 18:00:00', '2024-03-24 16:00:00',
 64.0, 60.0, 6, '30',
 '测试通过', 1, '张三', NOW(), 2, '李四', NOW()),

-- 任务9：系统发版 - 已完成
(9, 7, '10', 3, 'CellBank系统V1.0正式发版', '<p>CellBank系统生产环境发版</p><p>发版时间：2024-04-01 02:00-06:00</p>', '40', '30',
 2, '李四', '2024-04-01 02:00:00', '2024-04-01 06:00:00', '2024-04-01 06:00:00',
 4.0, 4.0, 0, '10',
 '发版成功，系统运行稳定', 1, '张三', NOW(), 2, '李四', NOW()),

-- 额外任务示例：暂停状态
(10, 5, '10', 1, '报表导出优化', '<p>优化报表导出性能，支持大数据量导出</p>', '20', '25',
 2, '李四', '2024-03-25 09:00:00', '2024-04-01 18:00:00', NULL,
 24.0, 8.0, 0, '30',
 '暂停原因：优先级调整，先完成主体功能', 1, '张三', NOW(), 2, '李四', NOW()),

-- 额外任务示例：阻塞状态
(11, 5, '10', 1, '报表数据源配置', '<p>配置报表数据源，对接业务数据库</p>', '20', '70',
 2, '李四', '2024-03-25 09:00:00', '2024-03-28 18:00:00', NULL,
 16.0, 4.0, 0, '20',
 '阻塞原因：等待数据库权限开通', 1, '张三', NOW(), 2, '李四', NOW()),

-- 额外任务示例：紧急优先级
(12, 4, '10', 1, '培训材料制作', '<p>制作系统培训PPT和操作手册</p>', '20', '30',
 1, '张三', '2024-03-01 09:00:00', '2024-03-04 18:00:00', '2024-03-04 15:00:00',
 24.0, 20.0, 0, '10',
 '紧急任务，客户培训使用', 1, '张三', NOW(), 1, '张三', NOW());

-- ============================================================================
-- 10. 项目研发任务过程记录表 (ops_event_task_record)
-- ============================================================================

INSERT INTO `ops_event_task_record` (
    `id`, `task_id`, `handle_user_id`, `handle_user_name`, `handle_content`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 任务1（需求评审）的处理记录
(1, 1, 2, '李四', '<p>需求评审会议记录：</p><ul><li>确认自定义报表的数据源范围</li><li>确定报表模板配置方式</li><li>评估开发工期约2周</li></ul>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(2, 1, 2, '李四', '<p>评审完成，需求已确认，可以进入开发阶段</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务2（功能开发-处理中）的处理记录
(3, 2, 2, '李四', '<p>开始自定义报表功能开发</p><p>技术方案：使用ECharts+自定义模板引擎</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(4, 2, 2, '李四', '<p>完成报表模板配置界面开发</p><p>进度：30%</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(5, 2, 2, '李四', '<p>完成数据源选择和数据绑定功能</p><p>进度：60%</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务7（功能开发-已完成）的处理记录
(6, 7, 2, '李四', '<p>CellBank核心功能开发启动</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(7, 7, 2, '李四', '<p>完成细胞库管理模块开发</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(8, 7, 2, '李四', '<p>完成冻存管理和复苏管理模块开发</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(9, 7, 2, '李四', '<p>完成质控管理模块开发，进入联调测试阶段</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(10, 7, 2, '李四', '<p>所有功能开发完成，代码已提交，等待测试</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务8（功能测试-已完成）的处理记录
(11, 8, 2, '李四', '<p>测试计划已制定，开始执行测试用例</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(12, 8, 2, '李四', '<p>功能测试完成，发现Bug 12个，已全部修复</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(13, 8, 2, '李四', '<p>性能测试完成，系统响应时间符合要求</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务9（系统发版-已完成）的处理记录
(14, 9, 2, '李四', '<p>发版准备：数据库脚本已准备，配置文件已更新</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(15, 9, 2, '李四', '<p>生产环境发版完成，系统运行正常</p><p>发版耗时4小时，无异常</p>',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务11（阻塞状态）的处理记录
(16, 11, 2, '李四', '<p>已提交数据库权限申请，等待运维部门处理</p>',
 '阻塞原因：等待数据库权限', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务12（培训材料）的处理记录
(17, 12, 1, '张三', '<p>培训PPT制作完成，共45页</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

(18, 12, 1, '张三', '<p>操作手册编写完成，已转换为PDF格式</p>',
 '', 1, '张三', NOW(), 1, '张三', NOW());

-- ============================================================================
-- 11. 项目研发任务附件表 (ops_event_task_attachment)
-- ============================================================================

INSERT INTO `ops_event_task_attachment` (
    `id`, `task_id`, `task_record_id`, `file_name`, `file_url`, `file_type`,
    `remark`, `created_by`, `created_name`, `created_time`, `updated_by`, `updated_name`, `updated_time`
) VALUES
-- 任务1（需求评审）的附件
(1, 1, 0, '自定义报表需求评审会议纪要.docx', 'https://file.example.com/files/自定义报表需求评审会议纪要.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(2, 1, 0, '自定义报表功能原型.rp', 'https://file.example.com/files/自定义报表功能原型.rp', 'application/octet-stream',
 'Axure原型文件', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务2（功能开发）的附件
(3, 2, 0, '自定义报表技术方案.docx', 'https://file.example.com/files/自定义报表技术方案.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务1处理记录的附件
(4, 1, 1, '需求评审签到表.pdf', 'https://file.example.com/files/需求评审签到表.pdf', 'application/pdf',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务7处理记录的附件
(5, 7, 6, 'CellBank系统设计文档.docx', 'https://file.example.com/files/CellBank系统设计文档.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务8处理记录的附件
(6, 8, 11, 'CellBank测试用例.xlsx', 'https://file.example.com/files/CellBank测试用例.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(7, 8, 12, 'CellBank测试报告.pdf', 'https://file.example.com/files/CellBank测试报告.pdf', 'application/pdf',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务9处理记录的附件
(8, 9, 14, '发版检查清单.xlsx', 'https://file.example.com/files/发版检查清单.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

(9, 9, 15, '发版操作手册.docx', 'https://file.example.com/files/发版操作手册.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
 '', 2, '李四', NOW(), 2, '李四', NOW()),

-- 任务12（培训材料）的附件
(10, 12, 17, '系统培训PPT.pptx', 'https://file.example.com/files/系统培训PPT.pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
 '', 1, '张三', NOW(), 1, '张三', NOW()),

(11, 12, 18, '系统操作手册.pdf', 'https://file.example.com/files/系统操作手册.pdf', 'application/pdf',
 '', 1, '张三', NOW(), 1, '张三', NOW());

-- ============================================================================
-- 12. 发版任务关联开发任务表 (ops_event_task_release)
-- 建立发版任务与开发任务的关联关系
-- ============================================================================

INSERT INTO `ops_event_task_release` (
    `id`, `release_task_id`, `dev_task_id`, `project_id`, `created_time`
) VALUES
-- CellBank项目发版任务（任务9）关联的开发任务
(1, 9, 7, 3, NOW()),  -- 关联功能开发任务
(2, 9, 8, 3, NOW()),  -- 关联功能测试任务

-- LIMS项目发版任务（任务5）计划关联的开发任务
(3, 5, 4, 2, NOW());  -- 关联需求评审任务（发版任务通常关联多个开发任务）

-- ============================================================================
-- 交付项目任务测试数据说明
-- ============================================================================
--
-- ops_event_task (交付项目任务表):
-- - 任务类型覆盖：需求评审(10)、功能开发(20)、功能测试(30)、系统发版(40)
-- - 任务状态覆盖：待处理(10)、处理中(20)、暂停(25)、已完成(30)、阻塞(70)
-- - 优先级覆盖：紧急(10)、高(20)、中(30)
-- - 父子任务关系：任务2、3是任务1的子任务；任务7、8是任务6的子任务
-- - 工作量数据：预估工时和实际工时
--
-- ops_event_task_record (项目研发任务过程表):
-- - 每个主要任务都有处理记录
-- - 记录内容包括：启动说明、进度更新、问题反馈、完成确认
--
-- ops_event_task_attachment (项目研发任务附件表):
-- - 附件类型：文档(docx)、表格(xlsx)、演示文稿(pptx)、PDF、原型文件
-- - 关联方式：部分关联任务本身(task_record_id=0)，部分关联处理记录
--
-- ops_event_task_release (发版任务关联开发任务表):
-- - 发版任务关联其包含的开发、测试任务
-- - 支持追溯发版包含的具体工作内容
--
-- 所有关键字段均已填充，数据与交付项目事件(ops_delivery_project_event)关联
--