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

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

@@ -1,11 +1,11 @@
# MES XSL — 库区「实际存放量」展示回填(不写库,可覆盖
# MES XSL — 库区「实际存放量」兜底配置(不写库的可选 YAML
# 当前租户若在表 mes_xsl_warehouse_area_capacity_cfg 中已保存「匹配仓库」配置,则<strong>仅以库内配置为准</strong>
# 本文件的 codes/ids/enabled 仅在该租户尚无库内记录时作为兜底生效。
xslmes:
warehouse-area:
display-actual-capacity:
enabled: true
# 按「原材料库」分类编码解析 sys_category.id推荐业务树已无楼层语义编码中 F1/F2 后缀若变化请改此处)
raw-material-warehouse-category-codes:
- XSLMES_WH_F1_YCL
- XSLMES_WH_F2_YCL
# 可选:直接写 warehouse_category=id与上面的编码解析结果合并
raw-material-warehouse-category-ids: []

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');