This commit is contained in:
zlwu committed 2026-08-27 14:23:18 +08:00
1 parent e56d227fe8
commit 4611dbc2b2
237 files changed
+1384060 -24942

No files matched your search

@@ -0,0 +1,7 @@
-- 司机按段产品数量回传(JSON 存于段回传行)
-- 日期: 2026-08-26
SET NAMES utf8mb4;
ALTER TABLE `pl_transport_driver_stop_feedback`
ADD COLUMN `product_feedbacks` text COMMENT '段产品回传 JSON:[{stopProductId,actualQty,brandQtys}]' AFTER `attachment_urls`;
@@ -0,0 +1,68 @@
-- 运输计划 · 一车多卸 — 司机/现场按段回传
-- 设计文档: docs/superpowers/specs/2026-08-26-pl-multi-stop-redesign-design.md
-- 日期: 2026-08-26
SET NAMES utf8mb4;
-- ---------------------------------------------------------------------------
-- 1. 运输单现场 token(运输单级 1 个)
-- ---------------------------------------------------------------------------
ALTER TABLE `pl_transport`
ADD COLUMN `site_access_token` varchar(64) DEFAULT NULL COMMENT '现场免登录访问令牌' AFTER `driver_access_token`;
ALTER TABLE `pl_transport`
ADD UNIQUE KEY `uk_pl_transport_site_token` (`site_access_token`) USING BTREE;
-- ---------------------------------------------------------------------------
-- 2. 司机按段附件回传
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pl_transport_driver_stop_feedback` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`transport_id` varchar(64) NOT NULL COMMENT '运输单ID',
`plan_id` varchar(64) NOT NULL COMMENT '计划ID',
`stop_type` varchar(20) NOT NULL COMMENT '停靠段类型 load-装货 delivery-送货',
`stop_id` varchar(64) NOT NULL COMMENT '停靠段ID',
`attachment_urls` text COMMENT '附件URLs(JSON数组)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`feedback_time` datetime DEFAULT NULL COMMENT '回传时间',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_pl_driver_stop_feedback` (`transport_id`, `stop_type`, `stop_id`) USING BTREE,
KEY `idx_pl_driver_stop_plan` (`plan_id`, `del_flag`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输单-司机按段附件回传';
-- ---------------------------------------------------------------------------
-- 3. 现场按段数量/附件回传(仅内部+地磅段)
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pl_transport_site_stop_feedback` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`transport_id` varchar(64) NOT NULL COMMENT '运输单ID',
`plan_id` varchar(64) NOT NULL COMMENT '计划ID',
`stop_type` varchar(20) NOT NULL COMMENT '停靠段类型 load-装货 delivery-送货',
`stop_id` varchar(64) NOT NULL COMMENT '停靠段ID',
`business_type` varchar(20) NOT NULL COMMENT '业务类型:入库/出库',
`quantity` decimal(15,3) DEFAULT NULL COMMENT '现场回传数量',
`attachment_urls` text COMMENT '附件URLs(JSON数组)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`feedback_time` datetime DEFAULT NULL COMMENT '回传时间',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_pl_site_stop_feedback` (`transport_id`, `stop_type`, `stop_id`) USING BTREE,
KEY `idx_pl_site_stop_plan` (`plan_id`, `del_flag`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输单-现场按段回传';
@@ -0,0 +1,164 @@
-- 运输计划 · 一车多卸重构 — 装货/送货段表
-- 设计文档: docs/superpowers/specs/2026-08-26-pl-multi-stop-redesign-design.md
-- 日期: 2026-08-26
SET NAMES utf8mb4;
-- ---------------------------------------------------------------------------
-- 1. pl_plan 新增运费备注
-- ---------------------------------------------------------------------------
ALTER TABLE `pl_plan`
ADD COLUMN `freight_remark` varchar(512) DEFAULT NULL COMMENT '运费备注' AFTER `freight_amount`;
-- ---------------------------------------------------------------------------
-- 2. pl_plan_contract 扩展 side 枚举 + 停靠段关联
-- ---------------------------------------------------------------------------
ALTER TABLE `pl_plan_contract`
ADD COLUMN `stop_id` varchar(64) DEFAULT NULL COMMENT '停靠段ID(装货段或送货段)' AFTER `side`,
MODIFY COLUMN `side` varchar(20) NOT NULL COMMENT 'supplier-供方 demander-需方 load-装货 delivery-送货';
ALTER TABLE `pl_plan_contract`
ADD KEY `idx_pl_plan_contract_stop` (`plan_id`, `stop_id`, `del_flag`) USING BTREE;
-- ---------------------------------------------------------------------------
-- 3. pl_transport_db_link 按段关联地磅
-- ---------------------------------------------------------------------------
ALTER TABLE `pl_transport_db_link`
ADD COLUMN `stop_type` varchar(20) DEFAULT NULL COMMENT '停靠段类型 load-装货 delivery-送货' AFTER `plan_product_id`,
ADD COLUMN `stop_id` varchar(64) DEFAULT NULL COMMENT '停靠段ID' AFTER `stop_type`;
ALTER TABLE `pl_transport_db_link`
ADD KEY `idx_pl_tdb_link_stop` (`stop_type`, `stop_id`) USING BTREE;
-- ---------------------------------------------------------------------------
-- 4. 装货段(plan 1:1)
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pl_plan_load` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`plan_id` varchar(64) NOT NULL COMMENT '计划ID',
`customer_id` varchar(64) DEFAULT NULL COMMENT '装货客户ID',
`customer_name` varchar(200) DEFAULT NULL COMMENT '装货客户名称',
`address` varchar(500) DEFAULT NULL COMMENT '装货地址',
`lng` decimal(10,6) DEFAULT NULL COMMENT '经度',
`lat` decimal(10,6) DEFAULT NULL COMMENT '纬度',
`load_time` datetime DEFAULT NULL COMMENT '装货时间',
`contact` varchar(200) DEFAULT NULL COMMENT '联系方式',
`notes` varchar(500) DEFAULT NULL COMMENT '注意事项',
`generate_dibang` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否生成地磅单 0-否 1-是',
`dibang_direction` varchar(20) DEFAULT NULL COMMENT '地磅方向 outbound-出库 inbound-入库 none-无',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_pl_plan_load_plan` (`plan_id`) USING BTREE,
KEY `idx_pl_plan_load_plan` (`plan_id`, `del_flag`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输计划-装货段';
-- ---------------------------------------------------------------------------
-- 5. 装货段产品明细
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pl_plan_load_product` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`load_id` varchar(64) NOT NULL COMMENT '装货段ID',
`plan_id` varchar(64) NOT NULL COMMENT '计划ID',
`plan_product_id` varchar(64) NOT NULL COMMENT '计划产品行ID',
`product_id` varchar(64) NOT NULL COMMENT '产品ID',
`product_no` varchar(50) NOT NULL COMMENT '产品编号',
`product_name` varchar(200) NOT NULL COMMENT '产品名称',
`model` varchar(100) DEFAULT NULL COMMENT '规格型号',
`unit` varchar(20) NOT NULL DEFAULT '吨' COMMENT '单位',
`package_spec` varchar(200) DEFAULT NULL COMMENT '包装规格',
`delivery_method` varchar(50) DEFAULT NULL COMMENT '送货方式',
`plan_qty` decimal(15,3) DEFAULT NULL COMMENT '本段计划数量',
`inbound_qty` decimal(15,3) DEFAULT NULL COMMENT '入库数量(归档)',
`inbound_price` decimal(15,4) DEFAULT NULL COMMENT '入库单价(归档)',
`inbound_amount` decimal(15,2) DEFAULT NULL COMMENT '入库金额(归档)',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pl_plan_load_product_load` (`load_id`, `del_flag`) USING BTREE,
KEY `idx_pl_plan_load_product_plan` (`plan_id`, `del_flag`) USING BTREE,
KEY `idx_pl_plan_load_product_pp` (`plan_product_id`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输计划-装货段产品明细';
-- ---------------------------------------------------------------------------
-- 6. 送货段(plan 1:N)
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pl_plan_delivery` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`plan_id` varchar(64) NOT NULL COMMENT '计划ID',
`seq` int(11) NOT NULL DEFAULT '1' COMMENT '顺序号(打印、链接展示)',
`customer_id` varchar(64) DEFAULT NULL COMMENT '送货客户ID',
`customer_name` varchar(200) DEFAULT NULL COMMENT '送货客户名称',
`address` varchar(500) DEFAULT NULL COMMENT '送货地址',
`lng` decimal(10,6) DEFAULT NULL COMMENT '经度',
`lat` decimal(10,6) DEFAULT NULL COMMENT '纬度',
`delivery_time` datetime DEFAULT NULL COMMENT '送货时间',
`contact` varchar(200) DEFAULT NULL COMMENT '联系方式',
`notes` varchar(500) DEFAULT NULL COMMENT '注意事项',
`generate_dibang` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否生成地磅单 0-否 1-是',
`dibang_direction` varchar(20) DEFAULT NULL COMMENT '地磅方向 outbound-出库 inbound-入库 none-无',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pl_plan_delivery_plan` (`plan_id`, `del_flag`) USING BTREE,
KEY `idx_pl_plan_delivery_seq` (`plan_id`, `seq`, `del_flag`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输计划-送货段';
-- ---------------------------------------------------------------------------
-- 7. 送货段产品明细
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pl_plan_delivery_product` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`delivery_id` varchar(64) NOT NULL COMMENT '送货段ID',
`plan_id` varchar(64) NOT NULL COMMENT '计划ID',
`plan_product_id` varchar(64) NOT NULL COMMENT '计划产品行ID',
`product_id` varchar(64) NOT NULL COMMENT '产品ID',
`product_no` varchar(50) NOT NULL COMMENT '产品编号',
`product_name` varchar(200) NOT NULL COMMENT '产品名称',
`model` varchar(100) DEFAULT NULL COMMENT '规格型号',
`unit` varchar(20) NOT NULL DEFAULT '吨' COMMENT '单位',
`package_spec` varchar(200) DEFAULT NULL COMMENT '包装规格',
`delivery_method` varchar(50) DEFAULT NULL COMMENT '送货方式',
`plan_qty` decimal(15,3) DEFAULT NULL COMMENT '本段计划数量',
`outbound_qty` decimal(15,3) DEFAULT NULL COMMENT '出库数量(归档)',
`outbound_price` decimal(15,4) DEFAULT NULL COMMENT '出库单价(归档)',
`outbound_amount` decimal(15,2) DEFAULT NULL COMMENT '出库金额(归档)',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pl_plan_delivery_product_delivery` (`delivery_id`, `del_flag`) USING BTREE,
KEY `idx_pl_plan_delivery_product_plan` (`plan_id`, `del_flag`) USING BTREE,
KEY `idx_pl_plan_delivery_product_pp` (`plan_product_id`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输计划-送货段产品明细';
@@ -0,0 +1,7 @@
-- 现场按段产品数量回传(JSON 存于段回传行)
-- 日期: 2026-08-26
SET NAMES utf8mb4;
ALTER TABLE `pl_transport_site_stop_feedback`
ADD COLUMN `product_feedbacks` text COMMENT '段产品回传 JSON:[{stopProductId,actualQty,brandQtys}]' AFTER `attachment_urls`;
+9595 -2508
View File
File diff suppressed because it is too large. Load diff