新增打印业务绑定功能,整合原材料卡片和入场记录的打印模板配置,优化打印数据准备逻辑。新增打印机查询接口,提升打印服务的灵活性和用户体验。同时,重构相关控制器以支持新的打印常量定义,增强系统的可维护性和扩展性。

This commit is contained in:
geht
2026-05-13 17:25:13 +08:00
parent c3f8190537
commit 642cecb04d
29 changed files with 2265 additions and 217 deletions

View File

@@ -0,0 +1,11 @@
-- 打印业务可选范围白名单勾选 sys_permission.id对应 PrintBizTypeCatalog linkedPermissionId
CREATE TABLE IF NOT EXISTS `print_biz_bind_perm_whitelist` (
`perm_id` varchar(36) NOT NULL COMMENT 'sys_permission 主键菜单/功能',
PRIMARY KEY (`perm_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务打印绑定-可选业务白名单权限菜单';
-- 按钮打印业务白名单
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 '1900000000000000125', '1900000000000000120', '打印业务白名单', NULL, NULL, 0, NULL, NULL, 2, 'print:bizBind:whitelist', '1', 5.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` = '1900000000000000125');

View File

@@ -0,0 +1,17 @@
-- 菜单权限与打印业务实体类映射biz_code / 绑定表业务编码 = perm_id
CREATE TABLE IF NOT EXISTS `print_biz_perm_entity` (
`perm_id` varchar(36) NOT NULL COMMENT 'sys_permission.id',
`entity_class` varchar(512) NOT NULL COMMENT '实体类全限定名用于反射字段',
PRIMARY KEY (`perm_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='打印业务-菜单与实体映射';
-- 原材料卡片菜单 -> MesXslRawMaterialCard
INSERT INTO `print_biz_perm_entity` (`perm_id`, `entity_class`)
SELECT '1900000000000000540', 'org.jeecg.modules.xslmes.entity.MesXslRawMaterialCard'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `print_biz_perm_entity` WHERE `perm_id` = '1900000000000000540');
-- 历史绑定业务编码由语义码改为菜单 id与白名单映射表一致
UPDATE `print_biz_template_bind`
SET `biz_code` = '1900000000000000540'
WHERE `biz_code` = 'MES_RAW_MATERIAL_CARD';

View File

@@ -0,0 +1,3 @@
-- 允许 entity_class 为空白名单勾选的菜单优先落库占位无法按 component 推断时再手工补全
ALTER TABLE `print_biz_perm_entity`
MODIFY COLUMN `entity_class` varchar(512) NULL COMMENT '实体类全限定名为空表示仅勾选占位需手工配置或菜单不符合推断规则';