-- 牦牛疾病预警：第三方健康源数据（检疫/诊疗/养殖过程），字段与 OpenAPI 返回对齐
CREATE TABLE IF NOT EXISTS `biz_yak_health_source_record` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `external_id` varchar(64) NOT NULL COMMENT '第三方记录ID（类型前缀+主键）',
  `record_type` tinyint(4) NOT NULL COMMENT '1检疫 2诊疗 3养殖过程',
  `record_time` datetime NOT NULL COMMENT '业务时间（检疫/诊疗/执行时间）',
  `region_key` varchar(128) DEFAULT NULL COMMENT '地区键（牧场维度，用于集中判断）',
  `farm_id` bigint(20) DEFAULT NULL COMMENT '第三方养殖场ID',
  `farm_name` varchar(128) DEFAULT NULL COMMENT '养殖场名称',
  `enclosure_id` bigint(20) DEFAULT NULL COMMENT '圈舍ID',
  `enclosure_name` varchar(128) DEFAULT NULL COMMENT '圈舍名称',
  `cattle_id` bigint(20) DEFAULT NULL COMMENT '牛只ID',
  `ear_tag_number` varchar(64) DEFAULT NULL COMMENT '耳标编号',
  `yak_no` varchar(64) DEFAULT NULL COMMENT '展示编号（耳标或牛只ID）',
  `source_create_time` datetime DEFAULT NULL COMMENT '第三方创建时间',
  `quarantine_unit_id` bigint(20) DEFAULT NULL COMMENT '检疫单位ID',
  `quarantine_unit_name` varchar(128) DEFAULT NULL COMMENT '检疫单位名称',
  `quarantine_personnel_id` bigint(20) DEFAULT NULL COMMENT '检疫人员ID',
  `quarantine_personnel_name` varchar(64) DEFAULT NULL COMMENT '检疫人员名称',
  `quarantine_item` varchar(128) DEFAULT NULL COMMENT '检疫项目',
  `quarantine_result` varchar(64) DEFAULT NULL COMMENT '检疫结果',
  `quarantine_report` varchar(512) DEFAULT NULL COMMENT '检疫报告',
  `certificate` varchar(128) DEFAULT NULL COMMENT '证书编号',
  `scene_picture` varchar(512) DEFAULT NULL COMMENT '现场图片',
  `age` varchar(32) DEFAULT NULL COMMENT '年龄',
  `etiology` varchar(256) DEFAULT NULL COMMENT '病因',
  `diagnosis_result` varchar(256) DEFAULT NULL COMMENT '诊断结果',
  `medication_name` varchar(128) DEFAULT NULL COMMENT '用药名称',
  `medication_method` varchar(128) DEFAULT NULL COMMENT '用药方式',
  `clinic` varchar(128) DEFAULT NULL COMMENT '诊疗机构',
  `treatment_time` datetime DEFAULT NULL COMMENT '治疗时间',
  `treatment_cycle` varchar(64) DEFAULT NULL COMMENT '治疗周期',
  `treatment_effect` varchar(128) DEFAULT NULL COMMENT '治疗效果',
  `condition_change` varchar(256) DEFAULT NULL COMMENT '病情变化',
  `recovery_time` datetime DEFAULT NULL COMMENT '康复时间',
  `recovery_health_status` varchar(64) DEFAULT NULL COMMENT '康复健康状态',
  `record_no` varchar(64) DEFAULT NULL COMMENT '过程记录编号',
  `source_type` varchar(32) DEFAULT NULL COMMENT '来源类型',
  `task_id` bigint(20) DEFAULT NULL COMMENT '任务ID',
  `operation_type` varchar(64) DEFAULT NULL COMMENT '操作类型',
  `batch_id` bigint(20) DEFAULT NULL COMMENT '批次ID',
  `cattle_ids` varchar(512) DEFAULT NULL COMMENT '牛只ID列表',
  `executor_user_id` bigint(20) DEFAULT NULL COMMENT '执行人用户ID',
  `executor_name` varchar(64) DEFAULT NULL COMMENT '执行人',
  `execute_result` varchar(256) DEFAULT NULL COMMENT '执行结果',
  `detail_json` text COMMENT '执行明细JSON',
  `material_usage_json` text COMMENT '物资使用JSON',
  `attachments` varchar(512) DEFAULT NULL COMMENT '现场照片',
  `exception_flag` char(1) DEFAULT NULL COMMENT '是否异常',
  `exception_desc` varchar(256) DEFAULT NULL COMMENT '异常说明',
  `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  `analyzed_flag` char(1) NOT NULL DEFAULT '0' COMMENT '0未分析 1已分析',
  `last_sync_time` datetime DEFAULT NULL COMMENT '最近同步时间',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_external_id` (`external_id`),
  KEY `idx_record_type_analyzed` (`record_type`, `analyzed_flag`),
  KEY `idx_region_time` (`region_key`, `record_time`),
  KEY `idx_record_time` (`record_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='牦牛健康源数据（第三方同步）';
