重构原材料卡片剩余数量计算逻辑,替换配置属性为服务调用以增强灵活性。新增匹配仓库配置的接口和视图,优化库区管理功能,确保数据展示的准确性和一致性。同时,更新相关文档以反映配置变更。

This commit is contained in:
geht
2026-05-15 11:47:31 +08:00
parent 5d7335d1a7
commit 10c5d29dc1
13 changed files with 561 additions and 82 deletions

View File

@@ -0,0 +1,26 @@
-- 库区实际存放量回填规则按租户页面配置原材料卡片汇总所匹配的仓库分类
CREATE TABLE IF NOT EXISTS `mes_xsl_warehouse_area_capacity_cfg` (
`id` varchar(32) NOT NULL COMMENT '主键',
`enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用回填 0否 1是',
`warehouse_category_ids` varchar(2000) DEFAULT NULL COMMENT 'MES仓库分类(sys_category.id)逗号分隔',
`warehouse_category_codes` varchar(2000) DEFAULT NULL COMMENT 'MES仓库分类编码逗号分隔 IDs 合并解析',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`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`),
UNIQUE KEY `uk_xsl_wacc_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES库区实际存放量回填规则租户';
-- 按钮权限匹配仓库
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 '1900000000000000558', '1900000000000000550', '匹配仓库', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_warehouse_area:capacityMatch', '1', 8.00, 0, NULL, 1, 0, 0, 0, '配置实际存放量按原材料卡片汇总的仓库分类', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000558');
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
SELECT REPLACE(UUID(), '-', ''), r.id, '1900000000000000558', NULL, NOW(), '127.0.0.1'
FROM `sys_role` r WHERE r.`role_code` = 'admin'
AND NOT EXISTS (SELECT 1 FROM `sys_role_permission` rp WHERE rp.`role_id` = r.id AND rp.`permission_id` = '1900000000000000558');