- fp_calc.calc()返回键实锤核对: total_fp/counts/errors(原total_ufp/by_type兜底猜错,已修) - promote门禁修正: resolve_approval会把status置approved,confirmed只是中间态→门禁接受confirmed/approval_initiated/approved(原只认confirmed会导致审批通过后反而不能立项) - _cluster_ctx补项目隔离(对齐_check_batch_visible口径)+全personal类别如实拒绝可行性样本不足 - 八节模板兜底节=需求规格;四节存量解析口径零变化 - opp_approvals CRUD手改(项目过滤)被xls2ui重生成吃掉→已checkout还原,只保留opp_reports新列部分
285 lines
9.0 KiB
SQL
285 lines
9.0 KiB
SQL
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_reports.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_reports;
|
||
CREATE TABLE opp_reports
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`project_id` VARCHAR(32) comment '项目ID',
|
||
`software` VARCHAR(128) NOT NULL comment '软件/主题',
|
||
`title` VARCHAR(255) NOT NULL comment '报告标题',
|
||
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '报告正文',
|
||
`status` VARCHAR(24) NOT NULL DEFAULT 'draft' comment '报告状态',
|
||
`report_type` VARCHAR(16) DEFAULT 'research' comment '报告类型(research调研/feasibility可行性研究)',
|
||
`confirm_task_id` VARCHAR(32) comment '确认任务ID',
|
||
`ppt_path` VARCHAR(500) comment 'PPT文件路径',
|
||
`confirmed_by` VARCHAR(64) comment '确认人',
|
||
`created_by` VARCHAR(64) comment '创建人',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间',
|
||
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '更新时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '研发报告'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_demand_atoms.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_demand_atoms;
|
||
CREATE TABLE opp_demand_atoms
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`cluster_id` VARCHAR(32) NOT NULL comment '所属类别ID',
|
||
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
|
||
`snap_id` VARCHAR(32) NOT NULL comment '来源需求快照ID',
|
||
`atom_text` VARCHAR(255) NOT NULL comment '原子需求文本(LLM提取)',
|
||
`std_demand_id` VARCHAR(32) comment '归一后标准需求ID',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '需求原子(类内LLM原子化结果)'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_approvals.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_approvals;
|
||
CREATE TABLE opp_approvals
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`report_id` VARCHAR(32) NOT NULL comment '报告ID',
|
||
`project_id` VARCHAR(32) comment '项目ID',
|
||
`status` VARCHAR(16) NOT NULL DEFAULT 'initiated' comment '审批状态',
|
||
`note` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '审批说明',
|
||
`created_by` VARCHAR(64) comment '发起人',
|
||
`resolved_by` VARCHAR(64) comment '审批人',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间',
|
||
`resolved_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '结论时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '研发审批'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_clusters.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_clusters;
|
||
CREATE TABLE opp_clusters
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`batch_id` VARCHAR(32) NOT NULL comment '批次ID',
|
||
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
|
||
`project_id` VARCHAR(32) comment '项目ID(空=平台级挖掘)',
|
||
`name` VARCHAR(128) comment '类别名称(LLM命名)',
|
||
`doc_count` int NOT NULL DEFAULT '0' comment '类内需求数',
|
||
`share` double(6,4) DEFAULT '0' comment '占比',
|
||
`heat_rank` int DEFAULT '0' comment '热度排名',
|
||
`naming_evidence` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '命名证据(样例标题JSON)',
|
||
`centroid_snap_id` VARCHAR(32) comment '质心需求快照ID(代表样本)',
|
||
`normalize_status` VARCHAR(16) DEFAULT 'init' comment '归一化状态(init/running/done/failed)',
|
||
`normalize_error` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '归一化失败原因',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '需求类别(聚类结果)'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_demand_domains.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_demand_domains;
|
||
CREATE TABLE opp_demand_domains
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`cluster_id` VARCHAR(32) NOT NULL comment '所属类别ID',
|
||
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
|
||
`parent_id` VARCHAR(32) comment '父能力域ID(空=顶层)',
|
||
`name` VARCHAR(128) NOT NULL comment '能力域名(如:人员管理/工时与考勤)',
|
||
`std_count` int NOT NULL DEFAULT '0' comment '下辖标准需求数',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '需求能力域(两层需求模型上层)'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_std_demands.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_std_demands;
|
||
CREATE TABLE opp_std_demands
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`cluster_id` VARCHAR(32) NOT NULL comment '所属类别ID',
|
||
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
|
||
`name` VARCHAR(128) NOT NULL comment '标准需求名(LLM裁决命名)',
|
||
`domain_id` VARCHAR(32) comment '能力域ID(两层模型上层)',
|
||
`doc_count` int NOT NULL DEFAULT '0' comment '覆盖文档数',
|
||
`coverage` double(6,4) DEFAULT '0' comment '覆盖率(覆盖文档数/类内文档数)',
|
||
`tier` VARCHAR(16) DEFAULT 'personal' comment '层级(core核心/ext扩展/personal个性)',
|
||
`evidence_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '证据(原子样例JSON)',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '标准需求(归一化结果)'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_mining_batches.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_mining_batches;
|
||
CREATE TABLE opp_mining_batches
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
|
||
`project_id` VARCHAR(32) comment '项目ID(空=平台级挖掘)',
|
||
`scope` VARCHAR(16) NOT NULL DEFAULT 'top' comment '挖掘范围(top=TopX全量/targeted=指定类型)',
|
||
`params_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '批次参数(days/sources/record_type/keyword/category)',
|
||
`status` VARCHAR(24) NOT NULL DEFAULT 'pulling' comment '批次状态(pulling/embedding/clustering/naming/done/failed)',
|
||
`vdb_col` VARCHAR(64) comment '批次向量工作集collection名',
|
||
`stats_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '批次统计(需求数/嵌入数/簇数/失败数)',
|
||
`error_msg` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '失败原因(可行动报错)',
|
||
`created_by` VARCHAR(64) comment '创建人',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间',
|
||
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '更新时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '需求挖掘批次'
|
||
;
|
||
|
||
|
||
-- /home/ymq/work/repos/pipeline-opportunity/models/opp_demand_snap.json
|
||
|
||
|
||
|
||
|
||
|
||
-- 建库时请用以下语句,支持emoji字符
|
||
-- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
drop table if exists opp_demand_snap;
|
||
CREATE TABLE opp_demand_snap
|
||
(
|
||
|
||
`id` VARCHAR(32) NOT NULL comment '主键ID',
|
||
`batch_id` VARCHAR(32) NOT NULL comment '批次ID',
|
||
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
|
||
`src_id` VARCHAR(64) NOT NULL comment '爬虫平台需求ID(去重键)',
|
||
`source` VARCHAR(32) comment '数据来源(zbj/epwk/freelancer/pph)',
|
||
`title` VARCHAR(500) NOT NULL comment '需求标题',
|
||
`item_category` VARCHAR(128) comment '站内类目',
|
||
`budget_wan` double(15,2) comment '预算(万元)',
|
||
`url` VARCHAR(500) comment '需求原文链接',
|
||
`publish_time` VARCHAR(32) comment '发布时间',
|
||
`cluster_id` VARCHAR(32) comment '所属类别ID(聚类后回填)',
|
||
`embed_status` VARCHAR(16) DEFAULT 'new' comment '向量化状态(cached/new/failed)',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间'
|
||
|
||
|
||
,primary key(id)
|
||
|
||
|
||
)
|
||
CHARACTER SET utf8mb4
|
||
COLLATE utf8mb4_unicode_ci
|
||
engine=innodb
|
||
comment '需求快照'
|
||
;
|
||
|