新增MES模块,包含供应商、客户、车辆和地磅数据记录管理功能,支持免密接口和数据同步。更新相关控制器、实体、服务和数据库配置,优化权限管理和数据字典支持,确保系统的灵活性和可扩展性。

This commit is contained in:
geht
2026-04-30 15:28:20 +08:00
parent 142a0bdaba
commit b03cbeff9b
121 changed files with 10540 additions and 424 deletions

View File

@@ -0,0 +1,77 @@
-- 地磅数据记录建表 + 进出方向字典 + 菜单权限幂等
-- ===================== 1. 建表 =====================
CREATE TABLE IF NOT EXISTS `mes_xsl_weight_record` (
`id` varchar(36) NOT NULL COMMENT '主键',
`bill_no` varchar(100) DEFAULT NULL COMMENT '榜单号BDH-yyyyMMddHHmmssxxx',
`weigh_date` date DEFAULT NULL COMMENT '称重日期',
`inout_direction` varchar(10) DEFAULT '1' COMMENT '进出方向字典 xslmes_inout_direction1进厂 2出厂',
`vehicle_id` varchar(36) DEFAULT NULL COMMENT '车辆IDmes_xsl_vehicle.id',
`plate_number` varchar(50) DEFAULT NULL COMMENT '车号车牌号',
`sender_unit` varchar(200) DEFAULT NULL COMMENT '发货单位进厂时为供应商名称',
`receiver_unit` varchar(200) DEFAULT NULL COMMENT '收货单位出厂时为客户简称',
`goods_name` varchar(200) DEFAULT NULL COMMENT '货物名称',
`gross_weight` decimal(10,2) DEFAULT NULL COMMENT '毛重(KG)实际称量',
`tare_weight` decimal(10,2) DEFAULT NULL COMMENT '皮重(KG)从车辆档案带出',
`net_weight` decimal(10,2) DEFAULT NULL COMMENT '净重(KG)=毛重-皮重自动计算',
`driver_name` varchar(50) DEFAULT NULL COMMENT '司机',
`driver_phone` varchar(30) 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 '更新时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`tenant_id` int DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_weight_record_bill_no` (`bill_no`),
KEY `idx_weight_record_weigh_date` (`weigh_date`),
KEY `idx_weight_record_direction` (`inout_direction`),
KEY `idx_weight_record_plate` (`plate_number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='地磅数据记录';
-- ===================== 2. 进出方向字典 =====================
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`, `tenant_id`)
SELECT REPLACE(UUID(), '-', ''), 'MES进出方向', 'xslmes_inout_direction', '地磅进出方向进厂/出厂', 0, 'admin', NOW(), 0, 0
WHERE NOT EXISTS (SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_inout_direction' 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_inout_direction'
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_inout_direction'
AND NOT EXISTS (SELECT 1 FROM `sys_dict_item` i WHERE i.`dict_id` = d.id AND i.`item_value` = '2');
-- ===================== 3. 菜单 + 按钮权限父菜单MES 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 '1900000000000000500', '1900000000000000300', '地磅数据记录', '/xslmes/mesXslWeightRecord', 'xslmes/mesXslWeightRecord/MesXslWeightRecordList', 1, NULL, NULL, 1, NULL, '0', 10.00, 0, 'ant-design:database-outlined', 0, 1, 0, 0, '地磅数据记录', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000500');
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 '1900000000000000501', '1900000000000000500', '添加', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_weight_record: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` = '1900000000000000501');
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 '1900000000000000502', '1900000000000000500', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_weight_record: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` = '1900000000000000502');
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 '1900000000000000503', '1900000000000000500', '删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_weight_record: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` = '1900000000000000503');
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 '1900000000000000504', '1900000000000000500', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_weight_record: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` = '1900000000000000504');
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 '1900000000000000505', '1900000000000000500', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_weight_record: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` = '1900000000000000505');
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 '1900000000000000506', '1900000000000000500', '导入', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_weight_record: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` = '1900000000000000506');

View File

@@ -0,0 +1,10 @@
-- 客户/车辆/供应商补充 MyBatis-Plus 乐观锁列 version与实体 @Version 对应仅执行一次
ALTER TABLE `mes_xsl_customer`
ADD COLUMN `version` int NOT NULL DEFAULT 0 COMMENT '乐观锁版本' AFTER `status`;
ALTER TABLE `mes_xsl_vehicle`
ADD COLUMN `version` int NOT NULL DEFAULT 0 COMMENT '乐观锁版本' AFTER `status`;
ALTER TABLE `mes_xsl_supplier`
ADD COLUMN `version` int NOT NULL DEFAULT 0 COMMENT '乐观锁版本' AFTER `status`;