| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- -- 生产/补跑:车辆加油登记表 + 菜单
- -- 权限:全部角色 → 加油登记;仅「管理员」→ 加油信息汇总
- -- 目标库示例:.env.production → shanxia2.0
- SET NAMES utf8mb4;
- CREATE TABLE IF NOT EXISTS `pl_vehicle_fuel_register` (
- `id` varchar(64) NOT NULL COMMENT '主键ID',
- `register_no` varchar(32) NOT NULL COMMENT '登记单号 SXJY+YYYYMMDD+6位',
- `fuel_category` varchar(20) NOT NULL COMMENT '加油类别 bailian-百链 gas_station-加油站',
- `register_date` date NOT NULL COMMENT '日期',
- `registrant_id` varchar(64) NOT NULL COMMENT '登记人用户ID',
- `license_plate` varchar(20) NOT NULL COMMENT '车牌号',
- `odometer_km` decimal(10,1) DEFAULT NULL COMMENT '期初公里数',
- `fuel_liters` decimal(10,2) NOT NULL COMMENT '加油升数',
- `attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URL,逗号分隔',
- `status` varchar(20) NOT NULL DEFAULT 'normal' COMMENT 'normal-正常 cancelled-已作废',
- `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`),
- UNIQUE KEY `uk_register_no` (`register_no`),
- KEY `idx_tenant_date` (`tenant_no`, `register_date`),
- KEY `idx_tenant_registrant` (`tenant_no`, `registrant_id`),
- KEY `idx_tenant_plate` (`tenant_no`, `license_plate`),
- KEY `idx_tenant_status` (`tenant_no`, `status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆加油登记';
- 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`
- )
- SELECT
- 'PL_VEH_FUEL_REG', '加油登记', 'PL_GROUP_VEHICLE', 'C',
- 'vehicle-fuel-register', 'pl/vehicle-fuel-register/index',
- 'pl:vehicle-fuel-register:list', 1, '1', '1', 'shanxia2.0', 7, NULL,
- 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL
- WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VEH_FUEL_REG' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFR_Q', '查询', 'PL_VEH_FUEL_REG', 'F', '', '', 'pl:vehicle-fuel-register:query',
- 1, '1', '1', 'shanxia2.0', 1, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFR_Q' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFR_A', '新增', 'PL_VEH_FUEL_REG', 'F', '', '', 'pl:vehicle-fuel-register:add',
- 1, '1', '1', 'shanxia2.0', 2, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFR_A' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFR_E', '编辑', 'PL_VEH_FUEL_REG', 'F', '', '', 'pl:vehicle-fuel-register:edit',
- 1, '1', '1', 'shanxia2.0', 3, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFR_E' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFR_C', '作废', 'PL_VEH_FUEL_REG', 'F', '', '', 'pl:vehicle-fuel-register:cancel',
- 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFR_C' AND `del_flag` = 0);
- 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`
- )
- SELECT
- 'PL_VEH_FUEL_SUM', '加油信息汇总', 'PL_GROUP_VEHICLE', 'C',
- 'vehicle-fuel-summary', 'pl/vehicle-fuel-summary/index',
- 'pl:vehicle-fuel-summary:list', 1, '1', '1', 'shanxia2.0', 8, NULL,
- 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL
- WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VEH_FUEL_SUM' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFS_Q', '查询', 'PL_VEH_FUEL_SUM', 'F', '', '', 'pl:vehicle-fuel-summary:query',
- 1, '1', '1', 'shanxia2.0', 1, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFS_Q' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFS_A', '新增', 'PL_VEH_FUEL_SUM', 'F', '', '', 'pl:vehicle-fuel-summary:add',
- 1, '1', '1', 'shanxia2.0', 2, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFS_A' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFS_E', '编辑', 'PL_VEH_FUEL_SUM', 'F', '', '', 'pl:vehicle-fuel-summary:edit',
- 1, '1', '1', 'shanxia2.0', 3, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFS_E' AND `del_flag` = 0);
- 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`
- )
- SELECT 'PL_VFS_C', '作废', 'PL_VEH_FUEL_SUM', 'F', '', '', 'pl:vehicle-fuel-summary:cancel',
- 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_VFS_C' AND `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
- MD5(CONCAT(r.id, '|', m.menu_id, '|fuel-reg-all|v1')),
- r.id,
- m.menu_id,
- IFNULL(NULLIF(r.tenant_no, ''), 'shanxia2.0'),
- 0,
- '加油登记:全角色授权',
- 'system',
- '',
- NOW(),
- NULL,
- NOW(),
- 0
- FROM `sys_role` r
- JOIN (
- SELECT '2' AS menu_id UNION ALL
- SELECT 'PL_MENU_ROOT' UNION ALL
- SELECT 'PL_GROUP_VEHICLE' UNION ALL
- SELECT 'PL_VEH_FUEL_REG' UNION ALL
- SELECT 'PL_VFR_Q' UNION ALL
- SELECT 'PL_VFR_A' UNION ALL
- SELECT 'PL_VFR_E' UNION ALL
- SELECT 'PL_VFR_C'
- ) m
- WHERE r.del_flag = 0
- AND NOT EXISTS (
- SELECT 1 FROM `sys_role_menu` x
- WHERE x.role_id = r.id AND x.menu_id = m.menu_id AND x.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
- MD5(CONCAT(r.id, '|', m.menu_id, '|fuel-sum-admin|v1')),
- r.id,
- m.menu_id,
- IFNULL(NULLIF(r.tenant_no, ''), 'shanxia2.0'),
- 0,
- '加油信息汇总:仅管理员',
- 'system',
- '',
- NOW(),
- NULL,
- NOW(),
- 0
- FROM `sys_role` r
- JOIN (
- SELECT 'PL_VEH_FUEL_SUM' AS menu_id UNION ALL
- SELECT 'PL_VFS_Q' UNION ALL
- SELECT 'PL_VFS_A' UNION ALL
- SELECT 'PL_VFS_E' UNION ALL
- SELECT 'PL_VFS_C'
- ) m
- WHERE r.del_flag = 0
- AND r.role_name = '管理员'
- AND NOT EXISTS (
- SELECT 1 FROM `sys_role_menu` x
- WHERE x.role_id = r.id AND x.menu_id = m.menu_id AND x.del_flag = 0
- );
|