提交
This commit is contained in:
1 parent
493f8d6756
commit
d84f4b944c
406 files changed
+58954
-10376
No files matched your search
@@ -1,20 +0,0 @@
|
||||
-- 移除地磅「车牌管理」独立主数据表及菜单(车牌统一使用运输管理 pl_vehicle)
|
||||
DROP TABLE IF EXISTS `db_vehicle`;
|
||||
|
||||
DELETE FROM `sys_role_menu`
|
||||
WHERE `menu_id` IN (
|
||||
'DB00000000000000000000000000006',
|
||||
'DB10000000000000000000000000014',
|
||||
'DB10000000000000000000000000015',
|
||||
'DB10000000000000000000000000016',
|
||||
'DB10000000000000000000000000017'
|
||||
);
|
||||
|
||||
DELETE FROM `sys_menu`
|
||||
WHERE `id` IN (
|
||||
'DB00000000000000000000000000006',
|
||||
'DB10000000000000000000000000014',
|
||||
'DB10000000000000000000000000015',
|
||||
'DB10000000000000000000000000016',
|
||||
'DB10000000000000000000000000017'
|
||||
);
|
||||
@@ -1,11 +0,0 @@
|
||||
-- 出入库单 · 工厂现场人员免登录链接
|
||||
-- Spec: docs/superpowers/specs/2026-06-23-pl-site-inventory-link-design.md
|
||||
|
||||
ALTER TABLE db_inbound_outbound
|
||||
ADD COLUMN site_access_token VARCHAR(64) NULL COMMENT '现场人员免登录访问令牌' AFTER remark,
|
||||
ADD COLUMN site_feedback_remark VARCHAR(500) NULL COMMENT '现场回执备注' AFTER site_access_token,
|
||||
ADD COLUMN site_feedback_images TEXT NULL COMMENT '现场回执附件URLs(JSON数组)' AFTER site_feedback_remark,
|
||||
ADD COLUMN site_feedback_time DATETIME NULL COMMENT '现场回执保存时间' AFTER site_feedback_images;
|
||||
|
||||
CREATE UNIQUE INDEX uk_db_inbound_outbound_site_token
|
||||
ON db_inbound_outbound(site_access_token);
|
||||
@@ -1,35 +0,0 @@
|
||||
-- 运输计划 · 工厂现场链接(与地磅出入库单解耦)
|
||||
-- 入库/出库计划安排运输时生成,不在 db_inbound_outbound 落库
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pl_transport_site_link (
|
||||
id VARCHAR(64) NOT NULL COMMENT '主键ID',
|
||||
transport_id VARCHAR(64) NOT NULL COMMENT '运输单ID',
|
||||
plan_id VARCHAR(64) NOT NULL COMMENT '运输计划ID',
|
||||
plan_product_id VARCHAR(64) NOT NULL COMMENT '计划产品行ID',
|
||||
site_access_token VARCHAR(64) NOT NULL COMMENT '现场人员免登录访问令牌',
|
||||
business_type VARCHAR(20) NOT NULL COMMENT '业务类型:入库/出库',
|
||||
partner_company VARCHAR(200) NULL COMMENT '往来单位',
|
||||
product_id VARCHAR(64) NULL COMMENT 'CRM产品ID',
|
||||
product VARCHAR(200) NULL COMMENT '产品名称快照',
|
||||
specification VARCHAR(200) NULL COMMENT '规格快照',
|
||||
quantity DECIMAL(15, 3) NULL COMMENT '数量(吨)',
|
||||
vehicle_no VARCHAR(32) NULL COMMENT '车牌号',
|
||||
plan_no VARCHAR(64) NULL COMMENT '运输计划号',
|
||||
plan_date DATE NULL COMMENT '计划日期',
|
||||
site_feedback_remark VARCHAR(500) NULL COMMENT '现场回执备注',
|
||||
site_feedback_images TEXT NULL COMMENT '现场回执附件URLs(JSON数组)',
|
||||
site_feedback_time DATETIME NULL COMMENT '现场回执保存时间',
|
||||
tenant_no VARCHAR(64) NOT NULL COMMENT '租户编号',
|
||||
order_num INT NULL COMMENT '排序号',
|
||||
remark VARCHAR(512) NULL COMMENT '备注',
|
||||
create_by VARCHAR(64) NULL COMMENT '创建人id',
|
||||
create_dept_id VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
create_time DATETIME NOT NULL COMMENT '创建时间',
|
||||
update_by VARCHAR(64) NULL COMMENT '更新人id',
|
||||
update_time DATETIME NOT NULL COMMENT '更新时间',
|
||||
del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_pl_transport_site_link_token (site_access_token),
|
||||
KEY idx_pl_transport_site_link_transport (transport_id, del_flag),
|
||||
KEY idx_pl_transport_site_link_plan (plan_id, del_flag)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输计划现场链接';
|
||||
@@ -1,135 +0,0 @@
|
||||
-- =============================================================================
|
||||
-- 运费结算完善 · 审批表 + 字典 + 按钮权限
|
||||
-- 执行库:shanxia2.0 门户库
|
||||
-- 说明:可重复执行
|
||||
-- =============================================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 1. 审批记录表
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pl_freight_settlement_approval` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`settlement_id` varchar(64) NOT NULL COMMENT '结算单ID',
|
||||
`step` int(11) NOT NULL DEFAULT 1 COMMENT '步骤序号',
|
||||
`step_name` varchar(50) DEFAULT NULL COMMENT '步骤名称',
|
||||
`approver_id` varchar(64) NOT NULL COMMENT '审批人ID',
|
||||
`approver_name` varchar(64) DEFAULT NULL COMMENT '审批人姓名',
|
||||
`approval_type` varchar(20) NOT NULL DEFAULT 'sequential' COMMENT 'sequential/parallel/or',
|
||||
`approval_result` varchar(20) NOT NULL DEFAULT 'pending' COMMENT 'pending/approved/rejected/skipped',
|
||||
`approval_opinion` varchar(500) DEFAULT NULL COMMENT '审批意见',
|
||||
`approval_time` datetime DEFAULT NULL COMMENT '审批时间',
|
||||
`is_current` tinyint(4) NOT NULL DEFAULT 0 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` tinyint(4) NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pl_fsa_settlement` (`settlement_id`, `del_flag`),
|
||||
KEY `idx_pl_fsa_approver` (`approver_id`, `approval_result`, `is_current`, `del_flag`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运费结算审批记录';
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 2. 结算状态字典
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `dict_label`, `dict_value`, `tag_type`, `dict_type`, `tenant_no`, `order_num`,
|
||||
`remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
(
|
||||
'PL_SETTLEMENT_STATUS_PENDING', '草稿', 'pending', 'info', 'pl_settlement_status', 'shanxia2.0', 1,
|
||||
NULL, 'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_SETTLE_APPROVING', '审批中', 'approving', 'warning', 'pl_settlement_status', 'shanxia2.0', 2,
|
||||
NULL, 'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_SETTLE_APPROVED', '待发放', 'approved', 'primary', 'pl_settlement_status', 'shanxia2.0', 3,
|
||||
NULL, 'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_SETTLEMENT_STATUS_CONFIRMED', '已结算', 'confirmed', 'success', 'pl_settlement_status', 'shanxia2.0', 4,
|
||||
NULL, 'system', '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`dict_label` = VALUES(`dict_label`),
|
||||
`tag_type` = VALUES(`tag_type`),
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
UPDATE `sys_dict_data`
|
||||
SET `del_flag` = 1, `update_time` = NOW()
|
||||
WHERE `dict_type` = 'pl_settlement_status'
|
||||
AND `dict_value` IN ('submitted')
|
||||
AND `del_flag` = 0;
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 3. 运费结算按钮权限(parent PL_FREIGHT)
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
INSERT INTO `sys_menu` (
|
||||
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
|
||||
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
('PL_FREIGHT_Q', '查询', 'PL_FREIGHT', 'F', '', '', 'pl:freight:query', 1, '1', '1', 'shanxia2.0', 1, NULL, 'system', '', NOW(), NULL, NOW(), 0),
|
||||
('PL_FREIGHT_C', '组单', 'PL_FREIGHT', 'F', '', '', 'pl:freight:create', 1, '1', '1', 'shanxia2.0', 2, NULL, 'system', '', NOW(), NULL, NOW(), 0),
|
||||
('PL_FREIGHT_E', '编辑', 'PL_FREIGHT', 'F', '', '', 'pl:freight:edit', 1, '1', '1', 'shanxia2.0', 3, NULL, 'system', '', NOW(), NULL, NOW(), 0),
|
||||
('PL_FREIGHT_S', '提交审批', 'PL_FREIGHT', 'F', '', '', 'pl:freight:submit', 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', NOW(), NULL, NOW(), 0),
|
||||
('PL_FREIGHT_A', '审批', 'PL_FREIGHT', 'F', '', '', 'pl:freight:approve', 1, '1', '1', 'shanxia2.0', 5, NULL, 'system', '', NOW(), NULL, NOW(), 0),
|
||||
('PL_FREIGHT_W', '撤回', 'PL_FREIGHT', 'F', '', '', 'pl:freight:withdraw', 1, '1', '1', 'shanxia2.0', 6, NULL, 'system', '', NOW(), NULL, NOW(), 0),
|
||||
('PL_FREIGHT_D', '发放登记', 'PL_FREIGHT', 'F', '', '', 'pl:freight:disburse', 1, '1', '1', 'shanxia2.0', 7, NULL, 'system', '', NOW(), NULL, NOW(), 0)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
-- 可选:为已有运费结算菜单的角色自动授权按钮
|
||||
INSERT INTO `sys_role_menu` (
|
||||
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''),
|
||||
rm.`role_id`,
|
||||
m.`menu_id`,
|
||||
rm.`tenant_no`,
|
||||
m.`order_num`,
|
||||
'pl freight buttons auto grant',
|
||||
'system',
|
||||
'',
|
||||
NOW(),
|
||||
NULL,
|
||||
NOW(),
|
||||
0
|
||||
FROM `sys_role_menu` rm
|
||||
INNER JOIN (
|
||||
SELECT 'PL_FREIGHT_Q' AS menu_id, 1 AS order_num UNION ALL
|
||||
SELECT 'PL_FREIGHT_C', 2 UNION ALL
|
||||
SELECT 'PL_FREIGHT_E', 3 UNION ALL
|
||||
SELECT 'PL_FREIGHT_S', 4 UNION ALL
|
||||
SELECT 'PL_FREIGHT_A', 5 UNION ALL
|
||||
SELECT 'PL_FREIGHT_W', 6 UNION ALL
|
||||
SELECT 'PL_FREIGHT_D', 7
|
||||
) m ON 1 = 1
|
||||
WHERE rm.`menu_id` = 'PL_FREIGHT'
|
||||
AND rm.`del_flag` = 0
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_menu` x
|
||||
WHERE x.`role_id` = rm.`role_id` AND x.`menu_id` = m.`menu_id` AND x.`del_flag` = 0
|
||||
);
|
||||
|
||||
SELECT `id`, `menu_name`, `perms` FROM `sys_menu`
|
||||
WHERE `id` LIKE 'PL_FREIGHT%' AND `del_flag` = 0 ORDER BY `order_num`;
|
||||
@@ -1,114 +0,0 @@
|
||||
-- =============================================================================
|
||||
-- 运输计划归档 · 菜单与按钮权限
|
||||
-- 执行库:shanxia2.0 门户库(与 web-admin 同库)
|
||||
-- 说明:可重复执行(ON DUPLICATE KEY UPDATE / NOT EXISTS)
|
||||
-- 执行后:重新登录或刷新菜单缓存,侧栏「运输管理」下出现「运输计划归档」
|
||||
-- =============================================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 1. 菜单(C)+ 按钮权限(F)
|
||||
-- 路由:/#/pl/plan-archive
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
INSERT INTO `sys_menu` (
|
||||
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
|
||||
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
(
|
||||
'PL_PLAN_ARCHIVE', '运输计划归档', 'PL_MENU_ROOT', 'C',
|
||||
'plan-archive', 'pl/plan-archive/index', 'pl:plan-archive:list',
|
||||
1, '1', '1', 'shanxia2.0', 11, NULL,
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_PLAN_ARCHIVE_Q', '查询', 'PL_PLAN_ARCHIVE', 'F',
|
||||
'', '', 'pl:plan-archive:query',
|
||||
1, '1', '1', 'shanxia2.0', 1, NULL,
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_PLAN_ARCHIVE_E', '编辑', 'PL_PLAN_ARCHIVE', 'F',
|
||||
'', '', 'pl:plan-archive:edit',
|
||||
1, '1', '1', 'shanxia2.0', 2, NULL,
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_PLAN_ARCHIVE_A', '归档', 'PL_PLAN_ARCHIVE', 'F',
|
||||
'', '', 'pl:plan-archive:archive',
|
||||
1, '1', '1', 'shanxia2.0', 3, NULL,
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`menu_type` = VALUES(`menu_type`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = VALUES(`visible`),
|
||||
`status` = VALUES(`status`),
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 2. 调整「危化品证上传」排序,排在归档菜单之后
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
UPDATE `sys_menu`
|
||||
SET `order_num` = 12, `update_time` = NOW()
|
||||
WHERE `id` = 'PL_PLAN_CERT'
|
||||
AND `del_flag` = 0
|
||||
AND (`order_num` IS NULL OR `order_num` <> 12);
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 3.(可选)角色授权:为已拥有「运输计划」菜单的角色,自动勾选归档菜单及按钮
|
||||
-- 若需手工在「系统管理 → 角色管理」里分配,可注释掉本节
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
INSERT INTO `sys_role_menu` (
|
||||
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''),
|
||||
rm.`role_id`,
|
||||
m.`menu_id`,
|
||||
rm.`tenant_no`,
|
||||
m.`order_num`,
|
||||
'pl plan archive auto grant',
|
||||
'system',
|
||||
'',
|
||||
NOW(),
|
||||
NULL,
|
||||
NOW(),
|
||||
0
|
||||
FROM `sys_role_menu` rm
|
||||
INNER JOIN (
|
||||
SELECT 'PL_PLAN_ARCHIVE' AS menu_id, 11 AS order_num UNION ALL
|
||||
SELECT 'PL_PLAN_ARCHIVE_Q', 1 UNION ALL
|
||||
SELECT 'PL_PLAN_ARCHIVE_E', 2 UNION ALL
|
||||
SELECT 'PL_PLAN_ARCHIVE_A', 3
|
||||
) m ON 1 = 1
|
||||
WHERE rm.`menu_id` = 'PL_PLAN'
|
||||
AND rm.`del_flag` = 0
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_role_menu` x
|
||||
WHERE x.`role_id` = rm.`role_id`
|
||||
AND x.`menu_id` = m.`menu_id`
|
||||
AND x.`del_flag` = 0
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 4. 校验(执行后可查看结果)
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
SELECT `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `order_num`
|
||||
FROM `sys_menu`
|
||||
WHERE `id` IN ('PL_PLAN_ARCHIVE', 'PL_PLAN_ARCHIVE_Q', 'PL_PLAN_ARCHIVE_E', 'PL_PLAN_ARCHIVE_A')
|
||||
AND `del_flag` = 0
|
||||
ORDER BY `id`;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- 运费结算:发票附件字段
|
||||
ALTER TABLE `pl_freight_settlement`
|
||||
ADD COLUMN `invoice_attachment_urls` text DEFAULT NULL COMMENT '发票附件URLs,逗号分隔' AFTER `invoice_date`;
|
||||
@@ -1,99 +0,0 @@
|
||||
-- =============================================================================
|
||||
-- 运费结算 · 拆分为三菜单(结算 / 审批 / 财务发放)
|
||||
-- 执行库:shanxia2.0 门户库
|
||||
-- 说明:可重复执行;执行后重新登录刷新菜单
|
||||
-- =============================================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 1. 新增菜单
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
INSERT INTO `sys_menu` (
|
||||
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
|
||||
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
) VALUES
|
||||
(
|
||||
'PL_FREIGHT_APPROVAL', '运费结算审批', 'PL_MENU_ROOT', 'C',
|
||||
'freight-approval', 'pl/freight-approval/index', 'pl:freight-approval:list',
|
||||
1, '1', '1', 'shanxia2.0', 31, '待审批与已审批结算单',
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_FREIGHT_APPROVAL_Q', '查询', 'PL_FREIGHT_APPROVAL', 'F',
|
||||
'', '', 'pl:freight-approval:query',
|
||||
1, '1', '1', 'shanxia2.0', 1, NULL,
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_FREIGHT_DISBURSE_MENU', '运费财务发放', 'PL_MENU_ROOT', 'C',
|
||||
'freight-disburse', 'pl/freight-disburse/index', 'pl:freight-disburse:list',
|
||||
1, '1', '1', 'shanxia2.0', 32, '待发放与已发放结算单',
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
),
|
||||
(
|
||||
'PL_FREIGHT_DISBURSE_Q', '查询', 'PL_FREIGHT_DISBURSE_MENU', 'F',
|
||||
'', '', 'pl:freight-disburse:query',
|
||||
1, '1', '1', 'shanxia2.0', 1, NULL,
|
||||
'system', '', NOW(), NULL, NOW(), 0
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`menu_name` = VALUES(`menu_name`),
|
||||
`parent_id` = VALUES(`parent_id`),
|
||||
`menu_type` = VALUES(`menu_type`),
|
||||
`path` = VALUES(`path`),
|
||||
`component` = VALUES(`component`),
|
||||
`perms` = VALUES(`perms`),
|
||||
`visible` = VALUES(`visible`),
|
||||
`status` = VALUES(`status`),
|
||||
`order_num` = VALUES(`order_num`),
|
||||
`update_time` = NOW(),
|
||||
`del_flag` = 0;
|
||||
|
||||
-- 运费结算菜单排序保持在审批、发放之前
|
||||
UPDATE `sys_menu`
|
||||
SET `order_num` = 30, `update_time` = NOW()
|
||||
WHERE `id` = 'PL_FREIGHT' AND `del_flag` = 0;
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 2. 为已拥有「运费结算」菜单的角色自动授权新菜单
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
INSERT INTO `sys_role_menu` (
|
||||
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''),
|
||||
rm.`role_id`,
|
||||
m.`menu_id`,
|
||||
rm.`tenant_no`,
|
||||
m.`order_num`,
|
||||
'pl freight split menus auto grant',
|
||||
'system',
|
||||
'',
|
||||
NOW(),
|
||||
NULL,
|
||||
NOW(),
|
||||
0
|
||||
FROM `sys_role_menu` rm
|
||||
INNER JOIN (
|
||||
SELECT 'PL_FREIGHT_APPROVAL' AS menu_id, 31 AS order_num UNION ALL
|
||||
SELECT 'PL_FREIGHT_APPROVAL_Q', 1 UNION ALL
|
||||
SELECT 'PL_FREIGHT_DISBURSE_MENU', 32 UNION ALL
|
||||
SELECT 'PL_FREIGHT_DISBURSE_Q', 1
|
||||
) m ON 1 = 1
|
||||
WHERE rm.`menu_id` = 'PL_FREIGHT'
|
||||
AND rm.`del_flag` = 0
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_menu` x
|
||||
WHERE x.`role_id` = rm.`role_id` AND x.`menu_id` = m.`menu_id` AND x.`del_flag` = 0
|
||||
);
|
||||
|
||||
SELECT `id`, `menu_name`, `path`, `component`, `perms`, `order_num`
|
||||
FROM `sys_menu`
|
||||
WHERE `id` IN ('PL_FREIGHT', 'PL_FREIGHT_APPROVAL', 'PL_FREIGHT_DISBURSE_MENU')
|
||||
AND `del_flag` = 0
|
||||
ORDER BY `order_num`;
|
||||
@@ -1,26 +0,0 @@
|
||||
-- =============================================================================
|
||||
-- 运输管理 · 调整「山峡自有车辆」与「车辆管理」菜单排序
|
||||
-- 执行库:shanxia2.0 门户库(与 web-admin 同库)
|
||||
-- 说明:可重复执行;交换 order_num,使「山峡自有车辆」排在「车辆管理」之上
|
||||
-- 执行后:重新登录或刷新菜单缓存
|
||||
-- =============================================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
UPDATE `sys_menu`
|
||||
SET `order_num` = 2, `update_time` = NOW()
|
||||
WHERE `id` = 'PL_SELF_VEHICLE'
|
||||
AND `del_flag` = 0
|
||||
AND (`order_num` IS NULL OR `order_num` <> 2);
|
||||
|
||||
UPDATE `sys_menu`
|
||||
SET `order_num` = 4, `update_time` = NOW()
|
||||
WHERE `id` = 'PL_VEHICLE'
|
||||
AND `del_flag` = 0
|
||||
AND (`order_num` IS NULL OR `order_num` <> 4);
|
||||
|
||||
SELECT `id`, `menu_name`, `parent_id`, `order_num`
|
||||
FROM `sys_menu`
|
||||
WHERE `id` IN ('PL_SELF_VEHICLE', 'PL_VEHICLE')
|
||||
AND `del_flag` = 0
|
||||
ORDER BY `order_num`;
|
||||
@@ -1,32 +0,0 @@
|
||||
-- =============================================================================
|
||||
-- 运输管理 · 车辆表增加挂车号
|
||||
-- 执行库:shanxia2.0 门户库(与 web-admin 同库)
|
||||
-- 说明:可重复执行;挂车号为车辆主数据属性,地磅/出入库仍使用 license_plate
|
||||
-- =============================================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
SET @col_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'pl_vehicle'
|
||||
AND COLUMN_NAME = 'trailer_no'
|
||||
);
|
||||
|
||||
SET @ddl := IF(
|
||||
@col_exists = 0,
|
||||
'ALTER TABLE `pl_vehicle` ADD COLUMN `trailer_no` varchar(20) DEFAULT NULL COMMENT ''挂车号'' AFTER `license_plate`',
|
||||
'SELECT ''trailer_no already exists'' AS message'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @ddl;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_COMMENT
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'pl_vehicle'
|
||||
AND COLUMN_NAME IN ('license_plate', 'trailer_no')
|
||||
ORDER BY ORDINAL_POSITION;
|
||||
+201
-1
@@ -21,6 +21,14 @@ CREATE TABLE `pl_carrier` (
|
||||
`contact_name` varchar(100) DEFAULT NULL COMMENT '联系人',
|
||||
`contact_phone` varchar(32) DEFAULT NULL COMMENT '联系电话',
|
||||
`status` char(1) NOT NULL DEFAULT '1' COMMENT '合作状态 1-合作中 0-已终止',
|
||||
`business_license_urls` varchar(2000) DEFAULT NULL COMMENT '营业执照附件URL,逗号分隔',
|
||||
`road_transport_license_urls` varchar(2000) DEFAULT NULL COMMENT '道路经营许可证附件URL,逗号分隔',
|
||||
`transport_agreement_urls` varchar(2000) DEFAULT NULL COMMENT '运输协议附件URL,逗号分隔',
|
||||
`transport_agreement_expire_date` date DEFAULT NULL COMMENT '运输协议有效期',
|
||||
`audit_status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '审核状态 pending-待审核 approved-已通过 rejected-已驳回',
|
||||
`audit_by` varchar(64) DEFAULT NULL COMMENT '审核人id',
|
||||
`audit_time` datetime DEFAULT NULL COMMENT '审核时间',
|
||||
`audit_remark` varchar(512) 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 '备注',
|
||||
@@ -97,6 +105,7 @@ CREATE TABLE `pl_cert` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`owner_type` varchar(20) NOT NULL COMMENT '归属类型 vehicle-车辆 personnel-人员',
|
||||
`owner_id` varchar(64) NOT NULL COMMENT '归属主体ID',
|
||||
`vehicle_part` varchar(20) DEFAULT NULL COMMENT '车辆部位 head-主车 trailer-挂车,人员证书为空',
|
||||
`cert_name` varchar(100) NOT NULL COMMENT '证书名称',
|
||||
`cert_no` varchar(64) DEFAULT NULL COMMENT '证号',
|
||||
`expire_date` date DEFAULT NULL COMMENT '有效期',
|
||||
@@ -643,9 +652,200 @@ CREATE TABLE `pl_document_reminder` (
|
||||
KEY `idx_tenant` (`tenant_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='证件到期提醒表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pl_vehicle_recharge_apply (车辆ETC/加油充值申请)
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pl_vehicle_recharge_apply`;
|
||||
CREATE TABLE `pl_vehicle_recharge_apply` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXSQ+YYYYMMDD+6位',
|
||||
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
|
||||
`recharge_type` varchar(20) NOT NULL COMMENT '充值类型 etc-ETC fuel-加油',
|
||||
`apply_date` date NOT NULL COMMENT '申请日期',
|
||||
`odometer_km` decimal(10,1) DEFAULT NULL COMMENT '期初公里数',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
|
||||
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT 'pending-待发放 disbursed-已发放 cancelled-已作废',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_apply_no` (`apply_no`),
|
||||
KEY `idx_tenant` (`tenant_no`),
|
||||
KEY `idx_license_plate` (`license_plate`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_apply_date` (`apply_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆ETC/加油充值申请';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pl_vehicle_recharge_record (车辆ETC/加油充值发放登记)
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pl_vehicle_recharge_record`;
|
||||
CREATE TABLE `pl_vehicle_recharge_record` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`recharge_order_no` varchar(32) NOT NULL COMMENT '充值订单号 SXCL+YYYYMMDD+6位',
|
||||
`recharge_date` date NOT NULL COMMENT '充值日期',
|
||||
`recharge_type` varchar(20) NOT NULL COMMENT '充值类型 etc-ETC fuel-加油',
|
||||
`card_no` varchar(64) DEFAULT NULL COMMENT '卡号',
|
||||
`gas_station` varchar(200) DEFAULT NULL COMMENT '加油站/充值渠道',
|
||||
`amount` decimal(10,2) NOT NULL COMMENT '充值金额(元)',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
|
||||
`apply_id` varchar(64) DEFAULT NULL COMMENT '关联申请单ID',
|
||||
`license_plate` varchar(20) DEFAULT NULL COMMENT '车牌号冗余',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_recharge_order_no` (`recharge_order_no`),
|
||||
UNIQUE KEY `uk_apply_id` (`apply_id`),
|
||||
KEY `idx_tenant` (`tenant_no`),
|
||||
KEY `idx_recharge_date` (`recharge_date`),
|
||||
KEY `idx_license_plate` (`license_plate`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆ETC/加油充值发放登记';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pl_vehicle_maintenance_apply (车辆维保申请)
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pl_vehicle_maintenance_apply`;
|
||||
CREATE TABLE `pl_vehicle_maintenance_apply` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXWB+YYYYMMDD+6位',
|
||||
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
|
||||
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
|
||||
`apply_date` date NOT NULL COMMENT '申请时间',
|
||||
`maintenance_type` varchar(64) NOT NULL COMMENT '维保类型',
|
||||
`start_date` date NOT NULL COMMENT '维保开始时间',
|
||||
`expected_pickup_date` date DEFAULT NULL COMMENT '预计取车时间',
|
||||
`maintenance_content` varchar(1000) DEFAULT NULL COMMENT '维保内容',
|
||||
`shop_address` varchar(500) DEFAULT NULL COMMENT '维保店铺地址',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT 'pending-待处理 processed-已处理 cancelled-已作废',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_apply_no` (`apply_no`),
|
||||
KEY `idx_tenant` (`tenant_no`),
|
||||
KEY `idx_license_plate` (`license_plate`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_apply_date` (`apply_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆维保申请';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pl_vehicle_maintenance_process (车辆维保处理登记)
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pl_vehicle_maintenance_process`;
|
||||
CREATE TABLE `pl_vehicle_maintenance_process` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`process_no` varchar(32) NOT NULL COMMENT '处理单号 SXWC+YYYYMMDD+6位',
|
||||
`apply_id` varchar(64) DEFAULT NULL COMMENT '关联申请单ID',
|
||||
`license_plate` varchar(20) DEFAULT NULL COMMENT '车牌号冗余',
|
||||
`amount` decimal(10,2) DEFAULT NULL COMMENT '金额(元)',
|
||||
`handler_id` varchar(64) NOT NULL COMMENT '处理人用户ID',
|
||||
`process_date` date NOT NULL COMMENT '处理时间',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_process_no` (`process_no`),
|
||||
UNIQUE KEY `uk_apply_id` (`apply_id`),
|
||||
KEY `idx_tenant` (`tenant_no`),
|
||||
KEY `idx_process_date` (`process_date`),
|
||||
KEY `idx_license_plate` (`license_plate`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆维保处理登记';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pl_vehicle_urea_apply (车辆尿素申请)
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pl_vehicle_urea_apply`;
|
||||
CREATE TABLE `pl_vehicle_urea_apply` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXNS+YYYYMMDD+6位',
|
||||
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
|
||||
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
|
||||
`apply_date` date NOT NULL COMMENT '申请时间',
|
||||
`warehouse_in_date` date NOT NULL COMMENT '入库时间',
|
||||
`unit` varchar(32) NOT NULL COMMENT '单位',
|
||||
`quantity` decimal(10,2) NOT NULL COMMENT '入库数',
|
||||
`apply_amount` decimal(10,2) NOT NULL COMMENT '申请金额(元)',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT 'pending-待发放 disbursed-已发放 cancelled-已作废',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_apply_no` (`apply_no`),
|
||||
KEY `idx_tenant` (`tenant_no`),
|
||||
KEY `idx_license_plate` (`license_plate`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_apply_date` (`apply_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆尿素申请';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pl_vehicle_urea_disburse (车辆尿素发放登记)
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pl_vehicle_urea_disburse`;
|
||||
CREATE TABLE `pl_vehicle_urea_disburse` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`disburse_no` varchar(32) NOT NULL COMMENT '发放单号 SXUF+YYYYMMDD+6位',
|
||||
`apply_id` varchar(64) DEFAULT NULL COMMENT '关联申请单ID',
|
||||
`license_plate` varchar(20) DEFAULT NULL COMMENT '车牌号冗余',
|
||||
`amount` decimal(10,2) NOT NULL COMMENT '发放金额(元)',
|
||||
`handler_id` varchar(64) NOT NULL COMMENT '处理人用户ID',
|
||||
`disburse_date` date NOT NULL COMMENT '发放时间',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_disburse_no` (`disburse_no`),
|
||||
UNIQUE KEY `uk_apply_id` (`apply_id`),
|
||||
KEY `idx_tenant` (`tenant_no`),
|
||||
KEY `idx_disburse_date` (`disburse_date`),
|
||||
KEY `idx_license_plate` (`license_plate`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆尿素发放登记';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- =============================================================================
|
||||
-- DDL 完成
|
||||
-- 共计 16 张表(含 pl_cert;pl_driver 已由 pl_personnel 替代)
|
||||
-- 共计 22 张表(含 pl_cert;pl_driver 已由 pl_personnel 替代)
|
||||
-- =============================================================================
|
||||
+749
-50
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user