更新VSCode配置,启用Maven支持,设置Java 17环境,调整MybatisPlusSaasConfig以开启系统租户控制并添加新租户表。更新pom.xml以包含新模块jeecg-module-xslmes,优化Vue3环境配置以统一API路径,增强代理设置以支持完整的后端路径。修复useForm钩子中的字段重置逻辑,改进axios配置以处理相对URL的上下文路径问题。

This commit is contained in:
geht
2026-04-21 13:41:05 +08:00
parent 73426a7af3
commit 1b06e987dc
114 changed files with 8249 additions and 17 deletions

View File

@@ -0,0 +1,47 @@
liteflow:
print-banner: false
parse-mode: PARSE_ONE_ON_FIRST_EXEC
#异步线程最长的等待时间秒(只用于when)默认值为15
# when-max-wait-seconds: 180
rule-source-ext-data-map:
# url: jdbc:mysql://localhost:3306/poseidon
# driverClassName: com.mysql.cj.jdbc.Driver
# username: root
# password: 123456
applicationName: jeecg
#是否开启SQL日志
sqlLogEnabled: true
#是否开启SQL数据轮询自动刷新机制 默认不开启
# pollingEnabled: false
#SQL数据轮询时间间隔(s) 默认为60s
# pollingIntervalSeconds: 60
#规则配置后首次轮询的起始时间(s) 默认为60s
# pollingStartSeconds: 60
#以下是chain表的配置这个一定得有
#编排规则表的表名
chainTableName: airag_flow
#编排规则表中应用名称存储字段名
chainApplicationNameField: application_name
#规则名称存储的字段名
chainNameField: id
#EL表达式的字段(只存EL)
elDataField: chain
#以下是决策路由字段的配置,如果你没用到决策路由,可以不配置
# routeField: route
# namespaceField: namespace
# #是否启用这条规则
# chainEnableField: enable
# #规则表自定义过滤SQL
chainCustomSql: select id, application_name, chain from airag_flow where status = 'enable' and chain is not null
#以下是script表的配置如果你没使用到脚本下面可以不配置
# scriptTableName: script
# scriptApplicationNameField: application_name
# scriptIdField: script_id
# scriptNameField: script_name
# scriptDataField: script_data
# scriptTypeField: script_type
# scriptLanguageField: script_language
# #是否启用这条脚本
# scriptEnableField: enable
# #脚本表自定义过滤SQL
# scriptCustomSql: 这里设置自定义脚本表SQL

File diff suppressed because one or more lines are too long

View File

@@ -30,6 +30,12 @@
<artifactId>jeecg-module-print</artifactId>
<version>${jeecgboot.version}</version>
</dependency>
<!-- MES XSL 业务模块 -->
<dependency>
<groupId>org.jeecgframework.boot3</groupId>
<artifactId>jeecg-module-xslmes</artifactId>
<version>${jeecgboot.version}</version>
</dependency>
<!-- flyway 数据库自动升级 -->
<dependency>

View File

@@ -0,0 +1,5 @@
-- 车辆管理关联单位主键
ALTER TABLE `mes_xsl_vehicle`
ADD COLUMN `unit_id` varchar(36) DEFAULT NULL COMMENT '单位IDmes_xsl_unit.id' AFTER `load_capacity`,
ADD KEY `idx_mes_xsl_vehicle_unit` (`unit_id`);

View File

@@ -0,0 +1,79 @@
-- MES 供应商管理 + 字典 + 菜单 + 管理员角色授权幂等
CREATE TABLE IF NOT EXISTS `mes_xsl_supplier` (
`id` varchar(36) NOT NULL COMMENT '主键',
`supplier_code` varchar(64) NOT NULL COMMENT '编码',
`supplier_name` varchar(100) NOT NULL COMMENT '名称',
`erp_code` varchar(64) DEFAULT NULL COMMENT 'ERP编码',
`status` varchar(10) DEFAULT '1' COMMENT '状态(字典 xslmes_supplier_status)',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_supplier_code` (`supplier_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES供应商管理';
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES供应商状态', 'xslmes_supplier_status', '停用启用', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_supplier_status' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '停用', '0', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_supplier_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '0');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '启用', '1', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_supplier_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '1');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000350', '1900000000000000300', '供应商管理', '/xslmes/mesXslSupplier', 'xslmes/mesXslSupplier/MesXslSupplierList', 1, NULL, NULL, 1, NULL, '0', 4.00, 0, 'ant-design:shop-outlined', 1, 1, 0, 0, 'MES供应商管理', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000350');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000351', '1900000000000000350', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000351');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000352', '1900000000000000350', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000352');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000353', '1900000000000000350', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000353');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000354', '1900000000000000350', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000354');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000355', '1900000000000000350', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000355');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000356', '1900000000000000350', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000356');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000357', '1900000000000000350', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000357');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000430', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000350', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000430');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000431', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000351', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000431');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000432', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000352', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000432');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000433', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000353', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000433');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000434', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000354', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000434');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000435', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000355', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000435');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000436', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000356', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000436');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000437', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000357', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000437');

View File

@@ -0,0 +1,23 @@
-- 车辆管理车辆归属字典 + 供应商/司机字段
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES车辆归属', 'xslmes_vehicle_belong', '客户供应商本公司', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_vehicle_belong' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '客户', '1', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_vehicle_belong' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '1');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '供应商', '2', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_vehicle_belong' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '2');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '本公司', '3', 3, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_vehicle_belong' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '3');
ALTER TABLE `mes_xsl_vehicle`
ADD COLUMN `vehicle_belong` varchar(10) DEFAULT NULL COMMENT '车辆归属(字典 xslmes_vehicle_belong)' AFTER `plate_number`,
ADD COLUMN `supplier_id` varchar(36) DEFAULT NULL COMMENT '供应商ID' AFTER `customer_short_name`,
ADD COLUMN `supplier_name` varchar(200) DEFAULT NULL COMMENT '供应商名称' AFTER `supplier_id`,
ADD COLUMN `driver_name` varchar(64) DEFAULT NULL COMMENT '司机' AFTER `vehicle_height`,
ADD COLUMN `driver_phone` varchar(32) DEFAULT NULL COMMENT '联系电话' AFTER `driver_name`,
ADD KEY `idx_mes_xsl_vehicle_belong` (`vehicle_belong`);

View File

@@ -0,0 +1,4 @@
-- 车辆管理列注释车辆自重改为车辆皮重字段名不变 tare_weight_kg
ALTER TABLE `mes_xsl_vehicle`
MODIFY COLUMN `tare_weight_kg` decimal(12,3) DEFAULT NULL COMMENT '车辆皮重(KG)';

View File

@@ -0,0 +1,5 @@
-- 单位分类长度组根分类 V3.9.2_9 种子一致已存在 category_code=length_group 则跳过
INSERT INTO `mes_xsl_unit_category` (`id`, `parent_id`, `category_code`, `category_name`, `sort_no`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000504', '0', 'length_group', '长度组', 4, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit_category` WHERE `category_code` = 'length_group');

View File

@@ -0,0 +1,15 @@
-- 单位模块 tenant_id NULL 对齐为 0避免多租户拦截器下查询不到数据
-- 说明MyBatis 租户插件追加 WHERE tenant_id = ?NULL 行不会被命中 左侧分类树缺长度组列表所属分类为空
UPDATE `mes_xsl_unit_category` SET `tenant_id` = 0 WHERE `tenant_id` IS NULL;
UPDATE `mes_xsl_unit` SET `tenant_id` = 0 WHERE `tenant_id` IS NULL;
-- 长度组根分类若不存在tenant_id=0 与默认租户一致
INSERT INTO `mes_xsl_unit_category` (`id`, `parent_id`, `category_code`, `category_name`, `sort_no`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000504', '0', 'length_group', '长度组', 4, '1', 0, 'admin', NOW(), 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit_category` WHERE `category_code` = 'length_group');
-- 常见长度单位若未挂分类挂到长度组
UPDATE `mes_xsl_unit`
SET `category_id` = '1900000000000000504', `tenant_id` = COALESCE(`tenant_id`, 0)
WHERE `unit_code` IN ('m', 'km', 'cm') AND (`category_id` IS NULL OR `category_id` = '');

View File

@@ -0,0 +1,16 @@
-- 供应商简称备注车辆供应商简称选择供应商后展示
ALTER TABLE `mes_xsl_supplier`
ADD COLUMN `supplier_short_name` varchar(64) DEFAULT NULL COMMENT '简称' AFTER `supplier_name`;
ALTER TABLE `mes_xsl_supplier`
ADD COLUMN `remark` varchar(500) DEFAULT NULL COMMENT '备注' AFTER `erp_code`;
ALTER TABLE `mes_xsl_vehicle`
ADD COLUMN `supplier_short_name` varchar(64) DEFAULT NULL COMMENT '供应商简称' AFTER `supplier_name`;
-- 已有车辆从供应商回填简称无简称时用名称
UPDATE `mes_xsl_vehicle` v
INNER JOIN `mes_xsl_supplier` s ON v.`supplier_id` = s.`id`
SET v.`supplier_short_name` = COALESCE(NULLIF(TRIM(s.`supplier_short_name`), ''), s.`supplier_name`)
WHERE v.`supplier_id` IS NOT NULL;

View File

@@ -0,0 +1,91 @@
-- MES 器具管理 + 字典 + 菜单 + 管理员角色授权幂等
CREATE TABLE IF NOT EXISTS `mes_xsl_instrument` (
`id` varchar(36) NOT NULL COMMENT '主键',
`barcode` varchar(64) NOT NULL COMMENT '编号/条码',
`status` varchar(10) DEFAULT '1' COMMENT '状态(字典 xslmes_instrument_status)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`spec_model` varchar(64) DEFAULT NULL COMMENT '规格型号(字典 xslmes_instrument_spec)',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_instrument_barcode` (`barcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES器具管理';
-- 状态启用/停用
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES器具状态', 'xslmes_instrument_status', '停用启用', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_instrument_status' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '停用', '0', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_instrument_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '0');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '启用', '1', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_instrument_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '1');
-- 规格型号字典示例项可后续在字典管理追加
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES器具规格型号', 'xslmes_instrument_spec', '器具规格尺寸等', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_instrument_spec' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '130*100*23.6', '130*100*23.6', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_instrument_spec' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '130*100*23.6');
-- 菜单父级 MES1900000000000000300
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000370', '1900000000000000300', '器具管理', '/xslmes/mesXslInstrument', 'xslmes/mesXslInstrument/MesXslInstrumentList', 1, NULL, NULL, 1, NULL, '0', 5.00, 0, 'ant-design:experiment-outlined', 1, 1, 0, 0, 'MES器具管理', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000370');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000371', '1900000000000000370', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000371');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000372', '1900000000000000370', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000372');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000373', '1900000000000000370', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000373');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000374', '1900000000000000370', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000374');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000375', '1900000000000000370', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000375');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000376', '1900000000000000370', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000376');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000377', '1900000000000000370', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000377');
-- 管理员角色授权
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000450', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000370', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000450');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000451', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000371', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000451');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000452', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000372', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000452');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000453', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000373', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000453');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000454', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000374', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000454');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000455', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000375', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000455');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000456', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000376', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000456');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000457', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000377', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000457');

View File

@@ -0,0 +1,61 @@
-- MES 各模块启用/停用状态统一为0=启用1=停用客户字典保留 2=删除
-- 说明将原 0=停用1=启用 的业务数据与字典项做互换
-- ========== 业务表 status 互换 ==========
UPDATE `mes_xsl_supplier` SET `status` = CASE `status` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' ELSE `status` END WHERE `status` IN ('0','1');
UPDATE `mes_xsl_supplier` SET `status` = CASE `status` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE `status` END;
UPDATE `mes_xsl_vehicle` SET `status` = CASE `status` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' ELSE `status` END WHERE `status` IN ('0','1');
UPDATE `mes_xsl_vehicle` SET `status` = CASE `status` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE `status` END;
UPDATE `mes_xsl_unit` SET `status` = CASE `status` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' ELSE `status` END WHERE `status` IN ('0','1');
UPDATE `mes_xsl_unit` SET `status` = CASE `status` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE `status` END;
UPDATE `mes_xsl_unit_category` SET `status` = CASE `status` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' ELSE `status` END WHERE `status` IN ('0','1');
UPDATE `mes_xsl_unit_category` SET `status` = CASE `status` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE `status` END;
UPDATE `mes_xsl_instrument` SET `status` = CASE `status` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' ELSE `status` END WHERE `status` IN ('0','1');
UPDATE `mes_xsl_instrument` SET `status` = CASE `status` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE `status` END;
-- 客户删除字典值 2 0/1 互换
UPDATE `mes_xsl_customer` SET `status` = CASE `status` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' WHEN '2' THEN '2' ELSE `status` END WHERE `status` IN ('0','1','2');
UPDATE `mes_xsl_customer` SET `status` = CASE `status` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE `status` END;
-- ========== 字典项 item_value / item_text ==========
-- 二元状态字典
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` IN ('xslmes_supplier_status', 'xslmes_vehicle_status', 'xslmes_unit_status', 'xslmes_instrument_status')
SET i.`item_value` = CASE i.`item_value` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' ELSE i.`item_value` END
WHERE i.`item_value` IN ('0','1');
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` IN ('xslmes_supplier_status', 'xslmes_vehicle_status', 'xslmes_unit_status', 'xslmes_instrument_status')
SET i.`item_value` = CASE i.`item_value` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE i.`item_value` END
WHERE i.`item_value` IN ('__T0__','__T1__');
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` IN ('xslmes_supplier_status', 'xslmes_vehicle_status', 'xslmes_unit_status', 'xslmes_instrument_status')
SET i.`item_text` = CASE i.`item_value` WHEN '0' THEN '启用' WHEN '1' THEN '停用' ELSE i.`item_text` END;
-- 客户状态0启用 1停用 2删除
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` = 'xslmes_customer_status'
SET i.`item_value` = CASE i.`item_value` WHEN '0' THEN '__T0__' WHEN '1' THEN '__T1__' WHEN '2' THEN '2' ELSE i.`item_value` END
WHERE i.`item_value` IN ('0','1','2');
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` = 'xslmes_customer_status'
SET i.`item_value` = CASE i.`item_value` WHEN '__T0__' THEN '1' WHEN '__T1__' THEN '0' ELSE i.`item_value` END
WHERE i.`item_value` IN ('__T0__','__T1__');
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` = 'xslmes_customer_status'
SET i.`item_text` = CASE i.`item_value` WHEN '0' THEN '启用' WHEN '1' THEN '停用' WHEN '2' THEN '删除' ELSE i.`item_text` END;
-- ========== 列默认值改为启用=0 ==========
ALTER TABLE `mes_xsl_supplier` MODIFY COLUMN `status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_supplier_status0启用1停用)';
ALTER TABLE `mes_xsl_vehicle` MODIFY COLUMN `status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_vehicle_status0启用1停用)';
ALTER TABLE `mes_xsl_unit` MODIFY COLUMN `status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_unit_status0启用1停用)';
ALTER TABLE `mes_xsl_unit_category` MODIFY COLUMN `status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_unit_status0启用1停用)';
ALTER TABLE `mes_xsl_instrument` MODIFY COLUMN `status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_instrument_status0启用1停用)';
ALTER TABLE `mes_xsl_customer` MODIFY COLUMN `status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_customer_status0启用1停用2删除)';

View File

@@ -0,0 +1,3 @@
-- 多租户拦截器按 tenant_id=当前租户查询/更新列为 NULL 时与 tenant_id=0 无法匹配导致列表能展示异常数据或更新 0 视数据与 SQL 而定
-- 将空租户统一为 0与默认租户上下文一致
UPDATE `mes_xsl_customer` SET `tenant_id` = 0 WHERE `tenant_id` IS NULL;

View File

@@ -0,0 +1,12 @@
-- 客户状态字典文案与后端/前端约定对齐item_value 0=启用 1=停用 2=删除
-- 说明早期 V3.9.2_4 曾将启用/停用文案与 value 写反导致库中 status=0 仍显示停用
UPDATE `sys_dict_item` i
INNER JOIN `sys_dict` d ON i.`dict_id` = d.`id` AND d.`dict_code` = 'xslmes_customer_status' AND d.`del_flag` = 0
SET i.`item_text` = CASE i.`item_value`
WHEN '0' THEN '启用'
WHEN '1' THEN '停用'
WHEN '2' THEN '删除'
ELSE i.`item_text`
END
WHERE i.`item_value` IN ('0', '1', '2');

View File

@@ -0,0 +1,21 @@
-- 车辆表补充 supplier_short_name兼容未成功执行 V3.9.2_16 的库幂等
SET @col_exists := (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'mes_xsl_vehicle'
AND COLUMN_NAME = 'supplier_short_name'
);
SET @ddl := IF(@col_exists = 0,
'ALTER TABLE `mes_xsl_vehicle` ADD COLUMN `supplier_short_name` varchar(64) DEFAULT NULL COMMENT ''供应商简称'' AFTER `supplier_name`',
'SELECT 1');
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 已有车辆用供应商名称回填简称不依赖供应商表是否已有 supplier_short_name
UPDATE `mes_xsl_vehicle` v
INNER JOIN `mes_xsl_supplier` s ON v.`supplier_id` = s.`id`
SET v.`supplier_short_name` = s.`supplier_name`
WHERE v.`supplier_id` IS NOT NULL
AND (v.`supplier_short_name` IS NULL OR TRIM(v.`supplier_short_name`) = '');

View File

@@ -0,0 +1,9 @@
-- 客户管理列表启用/停用按钮权限与供应商管理 xslmes:mes_xsl_supplier:updateStatus 同级
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000317', '1900000000000000301', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000317');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000399', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000317', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000399');

View File

@@ -0,0 +1,80 @@
-- MES XSL将各列表菜单下的按钮权限幂等写入/对齐 sys_permissionmenu_type=2parent_id 指向对应页面菜单
-- 覆盖客户车辆单位含分类按钮供应商器具 含编辑删除导出导入停用启用及添加批量删除
-- 若历史数据中 parent_id 错位或缺行本脚本通过 INSERT ... ON DUPLICATE KEY UPDATE 修复便于系统管理-菜单管理-按钮授权中展示与分配
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES
-- 客户管理 1900000000000000301
('1900000000000000311', '1900000000000000301', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000312', '1900000000000000301', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000313', '1900000000000000301', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000314', '1900000000000000301', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000315', '1900000000000000301', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000316', '1900000000000000301', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000317', '1900000000000000301', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
-- 车辆管理 1900000000000000320
('1900000000000000321', '1900000000000000320', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000322', '1900000000000000320', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000323', '1900000000000000320', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000324', '1900000000000000320', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000325', '1900000000000000320', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000326', '1900000000000000320', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000327', '1900000000000000320', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
-- 单位管理 1900000000000000330含单位分类相关按钮
('1900000000000000331', '1900000000000000330', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000332', '1900000000000000330', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000333', '1900000000000000330', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000334', '1900000000000000330', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000335', '1900000000000000330', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000336', '1900000000000000330', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000337', '1900000000000000330', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000338', '1900000000000000330', '新增分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit_category:add', '1', 8.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000339', '1900000000000000330', '编辑分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit_category:edit', '1', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000340', '1900000000000000330', '删除分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit_category:delete', '1', 10.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
-- 供应商管理 1900000000000000350
('1900000000000000351', '1900000000000000350', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000352', '1900000000000000350', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000353', '1900000000000000350', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000354', '1900000000000000350', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000355', '1900000000000000350', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000356', '1900000000000000350', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000357', '1900000000000000350', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_supplier:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
-- 器具管理 1900000000000000370
('1900000000000000371', '1900000000000000370', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000372', '1900000000000000370', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000373', '1900000000000000370', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000374', '1900000000000000370', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000375', '1900000000000000370', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000376', '1900000000000000370', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0),
('1900000000000000377', '1900000000000000370', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_instrument:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0)
ON DUPLICATE KEY UPDATE
`parent_id` = VALUES(`parent_id`),
`name` = VALUES(`name`),
`menu_type` = VALUES(`menu_type`),
`perms` = VALUES(`perms`),
`perms_type` = VALUES(`perms_type`),
`sort_no` = VALUES(`sort_no`),
`del_flag` = VALUES(`del_flag`),
`status` = VALUES(`status`),
`update_by` = VALUES(`update_by`),
`update_time` = VALUES(`update_time`);
-- 默认管理员角色为上述按钮补授权已存在 role_id+permission_id 则跳过
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT REPLACE(UUID(), '-', ''), 'f6817f48af4fb3af11b9e8bf182f618b', x.`pid`, NULL, NOW(), '127.0.0.1'
FROM (
SELECT '1900000000000000311' AS `pid` UNION ALL SELECT '1900000000000000312' UNION ALL SELECT '1900000000000000313' UNION ALL SELECT '1900000000000000314'
UNION ALL SELECT '1900000000000000315' UNION ALL SELECT '1900000000000000316' UNION ALL SELECT '1900000000000000317'
UNION ALL SELECT '1900000000000000321' UNION ALL SELECT '1900000000000000322' UNION ALL SELECT '1900000000000000323' UNION ALL SELECT '1900000000000000324'
UNION ALL SELECT '1900000000000000325' UNION ALL SELECT '1900000000000000326' UNION ALL SELECT '1900000000000000327'
UNION ALL SELECT '1900000000000000331' UNION ALL SELECT '1900000000000000332' UNION ALL SELECT '1900000000000000333' UNION ALL SELECT '1900000000000000334'
UNION ALL SELECT '1900000000000000335' UNION ALL SELECT '1900000000000000336' UNION ALL SELECT '1900000000000000337'
UNION ALL SELECT '1900000000000000338' UNION ALL SELECT '1900000000000000339' UNION ALL SELECT '1900000000000000340'
UNION ALL SELECT '1900000000000000351' UNION ALL SELECT '1900000000000000352' UNION ALL SELECT '1900000000000000353' UNION ALL SELECT '1900000000000000354'
UNION ALL SELECT '1900000000000000355' UNION ALL SELECT '1900000000000000356' UNION ALL SELECT '1900000000000000357'
UNION ALL SELECT '1900000000000000371' UNION ALL SELECT '1900000000000000372' UNION ALL SELECT '1900000000000000373' UNION ALL SELECT '1900000000000000374'
UNION ALL SELECT '1900000000000000375' UNION ALL SELECT '1900000000000000376' UNION ALL SELECT '1900000000000000377'
) x
WHERE NOT EXISTS (
SELECT 1 FROM `sys_role_permission` rp
WHERE rp.`role_id` = 'f6817f48af4fb3af11b9e8bf182f618b' AND rp.`permission_id` = x.`pid`
);

View File

@@ -0,0 +1,15 @@
-- 菜单管理权限树不显示子级按钮的原因SysPermissionController#getTreeModelList 仅在节点 is_leaf=0 时继续递归
-- 才能把 parent_id 指向该菜单的 menu_type=2 记录挂到树上MES XSL 各列表页子菜单原先 is_leaf=1递归被跳过按钮永不出现在树下
-- 含按钮子权限的页面菜单应设为 is_leaf=0非叶子节点按钮行本身仍为 is_leaf=1见各按钮 INSERT
UPDATE `sys_permission`
SET `is_leaf` = 0
WHERE `id` IN (
'1900000000000000301',
'1900000000000000320',
'1900000000000000330',
'1900000000000000350',
'1900000000000000370'
)
AND `menu_type` = 1
AND `del_flag` = 0;

View File

@@ -0,0 +1,117 @@
-- MES 仓库管理 + 仓库分类字典 + 菜单 + 管理员角色授权幂等
-- 状态复用字典 xslmes_unit_status0 启用 1 停用
CREATE TABLE IF NOT EXISTS `mes_xsl_warehouse` (
`id` varchar(36) NOT NULL COMMENT '主键',
`warehouse_code` varchar(100) NOT NULL COMMENT '仓库编码',
`warehouse_name` varchar(200) NOT NULL COMMENT '仓库名称',
`warehouse_category` varchar(32) NOT NULL COMMENT '仓库分类(字典 xslmes_warehouse_category)',
`erp_code` varchar(100) DEFAULT NULL COMMENT 'ERP编码',
`status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_unit_status0启用1停用)',
`customer_id` varchar(36) DEFAULT NULL COMMENT '客户ID分类为客户库时',
`customer_short_name` varchar(200) DEFAULT NULL COMMENT '客户简称',
`supplier_id` varchar(36) DEFAULT NULL COMMENT '供应商ID分类为供应商库时',
`supplier_short_name` varchar(100) DEFAULT NULL COMMENT '供应商简称',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_warehouse_code` (`warehouse_code`),
KEY `idx_mes_xsl_warehouse_category` (`warehouse_category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES仓库管理';
-- 仓库分类
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES仓库分类', 'xslmes_warehouse_category', '原材料库成品库等', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_warehouse_category' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '原材料库', 'RAW', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'RAW');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '成品库', 'FINISHED', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'FINISHED');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '待检库', 'PENDING_QC', 3, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'PENDING_QC');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '合格品库', 'QUALIFIED', 4, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'QUALIFIED');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '不合格品库', 'UNQUALIFIED', 5, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'UNQUALIFIED');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '废料库', 'WASTE', 6, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'WASTE');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '烘胶房', 'RUBBER', 7, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'RUBBER');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '客户库', 'CUSTOMER', 8, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'CUSTOMER');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '供应商库', 'SUPPLIER', 9, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_warehouse_category' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'SUPPLIER');
-- 菜单父级 MES1900000000000000300
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000380', '1900000000000000300', '仓库管理', '/xslmes/mesXslWarehouse', 'xslmes/mesXslWarehouse/MesXslWarehouseList', 1, NULL, NULL, 1, NULL, '0', 6.00, 0, 'ant-design:home-outlined', 0, 1, 0, 0, 'MES仓库管理', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000380');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000381', '1900000000000000380', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000381');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000382', '1900000000000000380', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000382');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000383', '1900000000000000380', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000383');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000384', '1900000000000000380', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000384');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000385', '1900000000000000380', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000385');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000386', '1900000000000000380', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000386');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000387', '1900000000000000380', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000387');
-- 管理员角色授权
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000460', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000380', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000460');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000461', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000381', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000461');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000462', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000382', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000462');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000463', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000383', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000463');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000464', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000384', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000464');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000465', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000385', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000465');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000466', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000386', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000466');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000467', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000387', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000467');
-- 含按钮子权限的列表菜单 is_leaf=0权限树可展开显示按钮 V3.9.2_25 一致
UPDATE `sys_permission`
SET `is_leaf` = 0
WHERE `id` = '1900000000000000380'
AND `menu_type` = 1
AND `del_flag` = 0;

View File

@@ -0,0 +1,67 @@
-- MES 仓库分类改为分类字典sys_category根编码 XSLMES_WH并迁移原字典 item_value 数据
-- 一楼库成品待检合格品废品不合格品二楼仓库烘胶房原材料废品客户库供应商库
-- 根节点
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000001', '0', 'MES仓库分类', 'XSLMES_WH', '1', 'admin', NOW()
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH');
-- 一楼库二楼仓库
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000002', '1991000000000000001', '一楼库', 'XSLMES_WH_F1', '1', 'admin', NOW()
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F1');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000003', '1991000000000000001', '二楼仓库', 'XSLMES_WH_F2', '1', 'admin', NOW()
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F2');
-- 一楼库 子类
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000011', '1991000000000000002', '成品库', 'XSLMES_WH_F1_CP', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F1_CP');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000012', '1991000000000000002', '待检库', 'XSLMES_WH_F1_DJ', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F1_DJ');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000013', '1991000000000000002', '合格品库', 'XSLMES_WH_F1_HG', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F1_HG');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000014', '1991000000000000002', '废品库', 'XSLMES_WH_F1_FP', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F1_FP');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000015', '1991000000000000002', '不合格品库', 'XSLMES_WH_F1_BHG', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F1_BHG');
-- 二楼仓库 子类
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000021', '1991000000000000003', '烘胶房', 'XSLMES_WH_F2_HJ', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F2_HJ');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000022', '1991000000000000003', '原材料库', 'XSLMES_WH_F2_YCL', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F2_YCL');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000023', '1991000000000000003', '废品库', 'XSLMES_WH_F2_FP', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F2_FP');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000024', '1991000000000000003', '客户库', 'XSLMES_WH_F2_KH', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F2_KH');
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1991000000000000025', '1991000000000000003', '供应商库', 'XSLMES_WH_F2_GYS', '0', 'admin', NOW()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_WH_F2_GYS');
-- mes_xsl_warehouse 中原字典 item_value 转为分类字典 id仅当仍为旧值时
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000011' WHERE `warehouse_category` = 'FINISHED';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000012' WHERE `warehouse_category` = 'PENDING_QC';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000013' WHERE `warehouse_category` = 'QUALIFIED';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000014' WHERE `warehouse_category` = 'WASTE';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000015' WHERE `warehouse_category` = 'UNQUALIFIED';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000022' WHERE `warehouse_category` = 'RAW';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000021' WHERE `warehouse_category` = 'RUBBER';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000024' WHERE `warehouse_category` = 'CUSTOMER';
UPDATE `mes_xsl_warehouse` SET `warehouse_category` = '1991000000000000025' WHERE `warehouse_category` = 'SUPPLIER';
ALTER TABLE `mes_xsl_warehouse`
MODIFY COLUMN `warehouse_category` varchar(36) NOT NULL COMMENT '仓库分类(sys_category.id根编码 XSLMES_WH)';

View File

@@ -0,0 +1,25 @@
-- 仓库管理侧栏维护分类字典子树所需按钮权限 /sys/category与系统分类字典一致
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000388', '1900000000000000380', '新增仓库分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse_category:add', '1', 8.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000388');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000389', '1900000000000000380', '编辑仓库分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse_category:edit', '1', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000389');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000390', '1900000000000000380', '删除仓库分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse_category:delete', '1', 10.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000390');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000468', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000388', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000468');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000469', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000389', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000469');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000470', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000390', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000470');

View File

@@ -0,0 +1,44 @@
-- MES 单位分类由独立表 mes_xsl_unit_category 迁入系统分类字典 sys_category根编码 XSLMES_UNIT
-- 保留原分类主键 id无需批量更新 mes_xsl_unit.category_id
-- 根节点
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT '1992000000000000001', '0', 'MES单位分类', 'XSLMES_UNIT', '1', 'admin', NOW()
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `sys_category` WHERE `code` = 'XSLMES_UNIT');
-- 从旧表迁入仅当表仍存在时id 与原表一致
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `has_child`, `create_by`, `create_time`)
SELECT
c.`id`,
CASE
WHEN IFNULL(NULLIF(TRIM(c.`parent_id`), ''), '0') IN ('0', '') THEN '1992000000000000001'
ELSE c.`parent_id`
END,
c.`category_name`,
CONCAT('XSLMES_UNIT_', UPPER(REPLACE(REPLACE(c.`category_code`, '-', '_'), ' ', '_'))),
CASE
WHEN EXISTS (
SELECT 1 FROM `mes_xsl_unit_category` c2
WHERE c2.`parent_id` = c.`id` AND IFNULL(c2.`del_flag`, 0) = 0
) THEN '1'
ELSE '0'
END,
IFNULL(c.`create_by`, 'admin'),
IFNULL(c.`create_time`, NOW())
FROM `mes_xsl_unit_category` c
WHERE IFNULL(c.`del_flag`, 0) = 0
AND NOT EXISTS (SELECT 1 FROM `sys_category` sc WHERE sc.`id` = c.`id`);
-- 同步 has_child含根节点
UPDATE `sys_category` p
SET `has_child` = '1'
WHERE EXISTS (SELECT 1 FROM `sys_category` ch WHERE ch.`pid` = p.`id`);
UPDATE `sys_category` p
SET `has_child` = '0'
WHERE NOT EXISTS (SELECT 1 FROM `sys_category` ch WHERE ch.`pid` = p.`id`);
ALTER TABLE `mes_xsl_unit`
MODIFY COLUMN `category_id` varchar(36) NOT NULL COMMENT '所属分类(sys_category.id根编码 XSLMES_UNIT)';
DROP TABLE IF EXISTS `mes_xsl_unit_category`;

View File

@@ -0,0 +1,104 @@
-- MES 客户管理 + 字典 + 菜单 + 管理员角色授权幂等
-- ========== ==========
CREATE TABLE IF NOT EXISTS `mes_xsl_customer` (
`id` varchar(36) NOT NULL COMMENT '主键',
`customer_code` varchar(100) NOT NULL COMMENT '客户编码',
`customer_name` varchar(200) NOT NULL COMMENT '客户名称',
`customer_region` varchar(32) DEFAULT NULL COMMENT '客户区域',
`erp_code` varchar(100) DEFAULT NULL COMMENT 'ERP编码',
`status` varchar(10) DEFAULT '0' COMMENT '状态(字典 xslmes_customer_status0启用1停用)',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`customer_desc` varchar(500) DEFAULT NULL COMMENT '客户描述',
`iz_enable` tinyint(1) DEFAULT '1' COMMENT '是否启用(1是0否)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_customer_code` (`customer_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES客户管理';
-- ========== 字典客户区域 ==========
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES客户区域', 'xslmes_customer_region', 'MES客户区域', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_customer_region' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '平度', 'pingdu', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'pingdu');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '高密', 'gaomi', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'gaomi');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '青岛', 'qingdao', 3, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'qingdao');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '烟台', 'yantai', 4, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'yantai');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '东营', 'dongying', 5, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'dongying');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '黄岛', 'huangdao', 6, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'huangdao');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '青州', 'qingzhou', 7, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'qingzhou');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '嘉兴市', 'jiaxing', 8, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_region' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = 'jiaxing');
-- ========== 字典客户状态启用/停用删除为逻辑删除 del_flag不在此字典选删除 ==========
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES客户状态', 'xslmes_customer_status', '启用停用删除删除建议配合逻辑删除', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_customer_status' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '启用', '0', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '0');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '停用', '1', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '1');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '删除', '2', 3, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_customer_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '2');
-- ========== 菜单 ==========
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000300', '', 'MES XSL', '/xslmes', 'layouts/default/index', 1, NULL, '/xslmes/mesXslCustomer', 0, NULL, '0', 80.00, 0, 'ant-design:appstore-outlined', 0, 0, 0, 0, 'MES XSL 业务', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000300');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000301', '1900000000000000300', '客户管理', '/xslmes/mesXslCustomer', 'xslmes/mesXslCustomer/MesXslCustomerList', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, 'ant-design:team-outlined', 1, 1, 0, 0, 'MES客户管理', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000301');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000311', '1900000000000000301', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000311');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000312', '1900000000000000301', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000312');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000313', '1900000000000000301', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000313');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000314', '1900000000000000301', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000314');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000315', '1900000000000000301', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000315');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000316', '1900000000000000301', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_customer:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000316');
-- ========== 管理员角色授权admin 角色 id 与项目一致 ==========
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000391', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000300', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000392', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000301', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000393', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000311', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000394', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000312', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000395', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000313', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000396', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000314', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000397', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000315', NULL, NOW(), '127.0.0.1');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`) VALUES ('1900000000000000398', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000316', NULL, NOW(), '127.0.0.1');

View File

@@ -0,0 +1,3 @@
-- 客户管理新增客户简称
ALTER TABLE `mes_xsl_customer`
ADD COLUMN `customer_short_name` varchar(100) DEFAULT NULL COMMENT '客户简称' AFTER `customer_name`;

View File

@@ -0,0 +1,4 @@
-- 历史数据status字典 iz_enable 对齐避免列表状态与启用逻辑不一致
UPDATE `mes_xsl_customer`
SET `iz_enable` = CASE WHEN `status` = '1' THEN 1 ELSE 0 END
WHERE `del_flag` = 0;

View File

@@ -0,0 +1,87 @@
-- MES 车辆管理 + 字典 + 菜单 + 管理员角色授权幂等
CREATE TABLE IF NOT EXISTS `mes_xsl_vehicle` (
`id` varchar(36) NOT NULL COMMENT '主键',
`plate_number` varchar(32) NOT NULL COMMENT '车牌号',
`tare_weight_kg` decimal(12,3) DEFAULT NULL COMMENT '车辆自重(KG)',
`load_capacity` decimal(12,3) DEFAULT NULL COMMENT '装载量',
`load_unit` varchar(32) DEFAULT NULL COMMENT '单位',
`customer_ids` varchar(1000) DEFAULT NULL COMMENT '客户ID多选逗号分隔',
`customer_short_name` varchar(1000) DEFAULT NULL COMMENT '客户简称展示',
`vehicle_length` decimal(10,3) DEFAULT NULL COMMENT '车长',
`vehicle_width` decimal(10,3) DEFAULT NULL COMMENT '车宽',
`vehicle_height` decimal(10,3) DEFAULT NULL COMMENT '车高',
`status` varchar(10) DEFAULT '1' COMMENT '状态(字典 xslmes_vehicle_status)',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_vehicle_plate` (`plate_number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES车辆管理';
-- 字典车辆状态
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES车辆状态', 'xslmes_vehicle_status', '停用启用', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_vehicle_status' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '停用', '0', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_vehicle_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '0');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '启用', '1', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_vehicle_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '1');
-- 菜单父级 MES XSL
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000320', '1900000000000000300', '车辆管理', '/xslmes/mesXslVehicle', 'xslmes/mesXslVehicle/MesXslVehicleList', 1, NULL, NULL, 1, NULL, '0', 2.00, 0, 'ant-design:car-outlined', 1, 1, 0, 0, 'MES车辆管理', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000320');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000321', '1900000000000000320', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000321');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000322', '1900000000000000320', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000322');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000323', '1900000000000000320', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000323');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000324', '1900000000000000320', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000324');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000325', '1900000000000000320', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000325');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000326', '1900000000000000320', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000326');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000327', '1900000000000000320', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_vehicle:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000327');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000401', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000320', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000401');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000402', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000321', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000402');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000403', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000322', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000403');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000404', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000323', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000404');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000405', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000324', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000405');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000406', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000325', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000406');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000407', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000326', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000407');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000408', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000327', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000408');

View File

@@ -0,0 +1,122 @@
-- MES 单位分类 + 单位 + 字典 + 菜单 + 管理员角色授权幂等
-- 单位分类
CREATE TABLE IF NOT EXISTS `mes_xsl_unit_category` (
`id` varchar(36) NOT NULL COMMENT '主键',
`parent_id` varchar(36) NOT NULL DEFAULT '0' COMMENT '父级ID0为根',
`category_code` varchar(64) NOT NULL COMMENT '分类编码',
`category_name` varchar(100) NOT NULL COMMENT '分类名称',
`sort_no` int DEFAULT '0' COMMENT '排序号',
`status` varchar(10) DEFAULT '1' COMMENT '状态(字典 xslmes_unit_status)',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_unit_category_parent` (`parent_id`),
KEY `idx_mes_xsl_unit_category_code` (`category_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES单位分类';
-- 单位
CREATE TABLE IF NOT EXISTS `mes_xsl_unit` (
`id` varchar(36) NOT NULL COMMENT '主键',
`unit_code` varchar(64) NOT NULL COMMENT '编码',
`unit_name` varchar(100) NOT NULL COMMENT '名称',
`erp_code` varchar(64) DEFAULT NULL COMMENT 'ERP编码',
`category_id` varchar(36) NOT NULL COMMENT '所属分类ID',
`unit_desc` text COMMENT '描述',
`status` varchar(10) DEFAULT '1' COMMENT '状态(字典 xslmes_unit_status)',
`del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0正常1删除)',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_mes_xsl_unit_category` (`category_id`),
KEY `idx_mes_xsl_unit_code` (`unit_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES单位';
-- 字典单位/分类状态启用停用
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES单位状态', 'xslmes_unit_status', '停用启用', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_unit_status' AND `del_flag` = 0);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '停用', '0', 1, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_unit_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '0');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '启用', '1', 2, 1, 'admin', NOW() FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_unit_status' AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '1');
-- 菜单父级 MES XSL
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000330', '1900000000000000300', '单位管理', '/xslmes/mesXslUnit', 'xslmes/mesXslUnit/MesXslUnitList', 1, NULL, NULL, 1, NULL, '0', 3.00, 0, 'ant-design:cluster-outlined', 1, 1, 0, 0, 'MES单位管理', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000330');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000331', '1900000000000000330', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:add', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000331');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000332', '1900000000000000330', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:edit', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000332');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000333', '1900000000000000330', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:delete', '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000333');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000334', '1900000000000000330', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:deleteBatch', '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000334');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000335', '1900000000000000330', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:exportXls', '1', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000335');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000336', '1900000000000000330', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:importExcel', '1', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000336');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000337', '1900000000000000330', '停用启用', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit:updateStatus', '1', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000337');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000338', '1900000000000000330', '新增分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit_category:add', '1', 8.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000338');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000339', '1900000000000000330', '编辑分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit_category:edit', '1', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000339');
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
SELECT '1900000000000000340', '1900000000000000330', '删除分类', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_unit_category:delete', '1', 10.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000340');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000410', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000330', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000410');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000411', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000331', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000411');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000412', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000332', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000412');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000413', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000333', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000413');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000414', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000334', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000414');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000415', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000335', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000415');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000416', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000336', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000416');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000417', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000337', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000417');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000418', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000338', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000418');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000419', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000339', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000419');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT '1900000000000000420', 'f6817f48af4fb3af11b9e8bf182f618b', '1900000000000000340', NULL, NOW(), '127.0.0.1'
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_role_permission` WHERE `id` = '1900000000000000420');

View File

@@ -0,0 +1,85 @@
-- MES 单位分类 + 单位初始化数据来自业务单位清单幂等
-- 固定主键便于关联若已存在同编码则跳过
-- 分类数量组重量组时间组长度组
INSERT INTO `mes_xsl_unit_category` (`id`, `parent_id`, `category_code`, `category_name`, `sort_no`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000501', '0', 'qty_group', '数量组', 1, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit_category` WHERE `category_code` = 'qty_group');
INSERT INTO `mes_xsl_unit_category` (`id`, `parent_id`, `category_code`, `category_name`, `sort_no`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000502', '0', 'weight_group', '重量组', 2, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit_category` WHERE `category_code` = 'weight_group');
INSERT INTO `mes_xsl_unit_category` (`id`, `parent_id`, `category_code`, `category_name`, `sort_no`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000503', '0', 'time_group', '时间组', 3, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit_category` WHERE `category_code` = 'time_group');
INSERT INTO `mes_xsl_unit_category` (`id`, `parent_id`, `category_code`, `category_name`, `sort_no`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000504', '0', 'length_group', '长度组', 4, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit_category` WHERE `category_code` = 'length_group');
-- 单位编码名称ERP编码所属分类状态启用
-- 数量组 1900000000000000501
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000511', 'tuo', '托', NULL, '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'tuo');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000512', 'tao', '套', 'tao', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'tao');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000513', 'tai', '台', 'tai', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'tai');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000514', 'Pcs', 'Pcs', 'Pcs', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'Pcs');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000515', 'ml', '毫升', 'ml', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'ml');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000516', 'liang', '辆', 'liang', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'liang');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000517', 'L', '升', 'L', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'L');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000518', 'dozen', '打', 'dozen', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'dozen');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000519', 'double', '双', 'double', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'double');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000520', 'dong', '栋', 'dong', '1900000000000000501', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'dong');
-- 重量组 1900000000000000502
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000521', 'ton', '吨', 'ton', '1900000000000000502', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'ton');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000522', 'kg', '千克', 'kg', '1900000000000000502', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'kg');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000523', 'g', '克', 'g', '1900000000000000502', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'g');
-- 时间组 1900000000000000503
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000524', 'second', '秒', 'second', '1900000000000000503', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'second');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000525', 'minute', '分', 'minute', '1900000000000000503', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'minute');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000526', 'hour', '时', 'hour', '1900000000000000503', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'hour');
-- 长度组 1900000000000000504
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000527', 'm', '米', 'm', '1900000000000000504', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'm');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000528', 'km', '千米', 'km', '1900000000000000504', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'km');
INSERT INTO `mes_xsl_unit` (`id`, `unit_code`, `unit_name`, `erp_code`, `category_id`, `unit_desc`, `status`, `del_flag`, `create_by`, `create_time`, `tenant_id`)
SELECT '1900000000000000529', 'cm', '厘米', 'cm', '1900000000000000504', NULL, '1', 0, 'admin', NOW(), NULL
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_unit` WHERE `unit_code` = 'cm');