落地报价模板主账与后台:合同映射、灌种 SQL/脚本、智能体填表,并补测服运维探针与合同文档对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
linmianxun
2026-09-14 14:09:45 +08:00
co-authored by Cursor
parent 8bdf4990a2
commit a70bce3c8f
138 changed files with 7239 additions and 1085 deletions
+10 -2
View File
@@ -8,8 +8,16 @@
- 若登录报缺 `sys_user_tenant`:再跑 `restore_jeecg_tenant_tables_v1.sql`
- 若继续缺 `sys_depart` 等系统表:从 `jeecg-boot/db/jeecgboot-mysql-5.7.sql` 批量 `CREATE TABLE IF NOT EXISTS` 补齐(本机已用脚本做过)
2. 业务表:`inquiry_admin_v1.sql`
3. 菜单权限 + 演示数据:优先 `inquiry_admin_menu_seed_v1.sql`(含 `url`/`component`)
3. 报价模板表:`inquiry_quote_template_v1.sql`(逻辑头 + 版本/映射)
4. 菜单权限 + 演示数据:优先 `inquiry_admin_menu_seed_v1.sql`(含 `url`/`component`)
首批模板素材目录:`海陆空报价单模板/`(非生产真相)。导入辅助:
```text
python tools/seed_quote_templates.py --dry-run
python tools/seed_quote_templates.py --upload-url http://127.0.0.1:8180/jeecgboot --token <token>
```
本机验收账号:`admin` / `123456`(验证码按页面填写)。
验收:Jeecg 登录 → 侧栏「询价运营」→ 看板/工单/员工/报价模板/回复语可调 `/inquiry/*`;账号/角色在「询价系统配置」进系统页。报价模板可先 mock。
验收:Jeecg 登录 → 侧栏「询价运营」→ 看板/工单/员工/报价模板/回复语可调 `/inquiry/*`;账号/角色在「询价系统配置」进系统页。报价模板走 `/inquiry/quoteTemplate/*`(黄区+映射点,非假占位符)。
+1
View File
@@ -24,6 +24,7 @@ CREATE TABLE IF NOT EXISTS `inq_ticket` (
`demand_title` varchar(500) DEFAULT NULL COMMENT '需求标题(路线摘要)',
`demand_detail` text COMMENT '需求详情文本',
`goods_name` varchar(200) DEFAULT NULL COMMENT '品名',
`quote_date` date DEFAULT NULL COMMENT '报价日期(销售询价/填表用,不是创建时间)',
`pieces` int DEFAULT NULL COMMENT '件数',
`weight_kg` decimal(18,3) DEFAULT NULL COMMENT '重量KG',
`volume_cbm` decimal(18,4) DEFAULT NULL COMMENT '体积CBM',
+51
View File
@@ -0,0 +1,51 @@
-- =============================================================================
-- 友通达新系统 · 报价模板(逻辑模板 + 版本 + 映射)
-- 库:inquiry_robot;禁止对现网 jeecg-boot 执行。
-- 规则:黄色固定区;mapping_json 存本版字段→单元格;改版新建 version。
-- =============================================================================
SET NAMES utf8mb4;
CREATE TABLE IF NOT EXISTS `inq_quote_template` (
`id` varchar(32) NOT NULL COMMENT '逻辑模板主键',
`name` varchar(200) NOT NULL COMMENT '模板名称',
`biz_type` varchar(16) NOT NULL COMMENT '海运/空运/陆运',
`category` varchar(100) NOT NULL COMMENT '分类(与后台筛选项一致)',
`keywords_json` text COMMENT '匹配关键词 JSON 数组',
`mode` varchar(16) NOT NULL DEFAULT 'auto' COMMENT 'auto=可自动生成;manual=仅下载人工填',
`status` varchar(16) NOT NULL DEFAULT 'disabled' COMMENT 'enabled/disabled',
`is_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT '同业务默认模板 0/1',
`current_version` int NOT NULL DEFAULT 0 COMMENT '当前启用版本号,0=尚未启用版本',
`use_count` int NOT NULL DEFAULT 0 COMMENT '累计使用次数',
`create_by` varchar(50) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(50) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_inq_qt_biz_status` (`biz_type`,`status`),
KEY `idx_inq_qt_category` (`category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报价模板逻辑头';
CREATE TABLE IF NOT EXISTS `inq_quote_template_version` (
`id` varchar(32) NOT NULL COMMENT '版本主键',
`template_id` varchar(32) NOT NULL COMMENT '逻辑模板 id',
`version_no` int NOT NULL COMMENT '从 1 递增',
`file_name` varchar(255) NOT NULL COMMENT '原始文件名',
`format` varchar(16) NOT NULL DEFAULT 'excel' COMMENT 'excel/pdf',
`object_key` varchar(500) NOT NULL COMMENT '对象存储或本地上传相对路径',
`sha256` varchar(64) DEFAULT NULL COMMENT '文件摘要',
`file_size` bigint DEFAULT NULL,
`parse_status` varchar(32) NOT NULL DEFAULT 'pending' COMMENT 'pending/parsed/failed/mapping_incomplete',
`mapping_point_count` int NOT NULL DEFAULT 0 COMMENT '已映射字段点数(不含未映射候选)',
`mapping_json` longtext COMMENT '本版填表计划 JSON(见 contracts/quote-template-mapping-v1.json)',
`candidates_json` longtext COMMENT '解析出的可填候选(标签/单元格)',
`parse_message` varchar(1000) DEFAULT NULL COMMENT '解析说明或失败原因',
`enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为本逻辑模板当前启用版本',
`create_by` varchar(50) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(50) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_inq_qt_ver` (`template_id`,`version_no`),
KEY `idx_inq_qt_ver_enabled` (`template_id`,`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报价模板版本(版式字节 + 映射)';
@@ -0,0 +1,26 @@
-- =============================================================================
-- 询价工单补列:quote_date(报价日期)
-- 只对 inquiry_robot 执行;禁止对现网 jeecg-boot 执行。
-- 可重复执行:已有列则跳过。
-- =============================================================================
SET NAMES utf8mb4;
SET @db := DATABASE();
SET @exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db
AND TABLE_NAME = 'inq_ticket'
AND COLUMN_NAME = 'quote_date'
);
SET @ddl := IF(
@exists = 0,
'ALTER TABLE `inq_ticket` ADD COLUMN `quote_date` date DEFAULT NULL COMMENT ''报价日期(销售询价/填表用,不是创建时间)'' AFTER `goods_name`',
'SELECT ''quote_date already exists'' AS info'
);
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;