feat(pl): 实现合同产品用证与额度结转以支持购买证和运输证全流程管理。

This commit is contained in:
wuzilong committed 2026-11-01 18:56:05 +08:00
1 parent cb0344498a
commit fb866c7fa7
104 files changed
+10187 -3833

No files matched your search

@@ -0,0 +1,54 @@
-- 工单 #4:共享证件档案与合法使用证明独立菜单。MySQL 5.7。
-- 仅新增菜单,不执行角色授权、不恢复已删除配置;部署前由管理员配置新业务权限。
SET NAMES utf8mb4;
START TRANSACTION;
INSERT INTO sys_menu (
id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status,
tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
)
SELECT target.id,target.name,folder.id,'C',target.path,target.component,target.perms,1,'1','1',
folder.tenant_no,target.sort_no,'工单#4:共享证件及独立资料','system','',NOW(),NOW(),0
FROM sys_menu folder
JOIN sys_menu parent ON parent.id=folder.parent_id AND parent.tenant_no=folder.tenant_no AND parent.del_flag=0
JOIN sys_menu root ON root.id=parent.parent_id AND root.tenant_no=folder.tenant_no AND root.del_flag=0
CROSS JOIN (
SELECT 'PL_QUOTA_CERT' id,'购买证与运输证' name,'quota-cert' path,'pl/quota-cert/index' component,'pl:quota-cert:list' perms,2 sort_no
UNION ALL SELECT 'PL_LEGAL_USE_DOCUMENT','合法使用证明','legal-use-document','pl/legal-use-document/index','pl:legal-use-document:list',3
) target
WHERE folder.id='PL_GROUP_CERT' AND folder.del_flag=0 AND folder.tenant_no='shanxia2.0'
AND parent.id='PL_MENU_ROOT' AND root.path='/web' AND root.parent_id='0'
AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id=target.id
OR (existing.tenant_no=folder.tenant_no AND existing.perms=target.perms));
INSERT INTO sys_menu (
id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status,
tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
)
SELECT 'PL_QUOTA_CERT_EDIT','维护证件及适用范围',leaf.id,'F',NULL,NULL,'pl:quota-cert:edit',1,'1','1',
leaf.tenant_no,1,'含建档、复核、合同产品范围维护;不自动授予角色','system','',NOW(),NOW(),0
FROM sys_menu leaf
WHERE leaf.id='PL_QUOTA_CERT' AND leaf.tenant_no='shanxia2.0' AND leaf.del_flag=0
AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id='PL_QUOTA_CERT_EDIT'
OR (existing.tenant_no=leaf.tenant_no AND existing.perms='pl:quota-cert:edit'));
-- 旧计划资料入口改为用证配置;退役的齐备按钮仅隐藏,保留历史配置与角色关系。
UPDATE sys_menu SET menu_name='计划用证',update_time=NOW()
WHERE tenant_no='shanxia2.0' AND del_flag=0 AND perms IN ('pl:plan-cert:list','mini:pl:plan-cert:list');
UPDATE sys_menu SET visible='0',status='0',update_time=NOW()
WHERE tenant_no='shanxia2.0' AND del_flag=0 AND perms='pl:plan-cert:ready';
INSERT INTO sys_menu (
id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status,
tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
)
SELECT 'MINI_PL_LEGAL_USE_DOCUMENT','合法使用证明',parent.id,'C','mp-webview',NULL,
'mini:pl:legal-use-document:list',1,'1','1',parent.tenant_no,6,
'小程序WebView合法使用证明;需另授业务查看和上传权限','system','',NOW(),NOW(),0
FROM sys_menu parent JOIN sys_menu root ON root.id=parent.parent_id
AND root.tenant_no=parent.tenant_no AND root.del_flag=0
WHERE parent.id='MINI_PL_ROOT' AND parent.path='/mini/pl' AND parent.del_flag=0
AND parent.tenant_no='shanxia2.0' AND root.path='/mini' AND root.parent_id='0'
AND NOT EXISTS(SELECT 1 FROM sys_menu existing WHERE existing.id='MINI_PL_LEGAL_USE_DOCUMENT'
OR (existing.tenant_no=parent.tenant_no AND existing.perms='mini:pl:legal-use-document:list'));
COMMIT;
@@ -0,0 +1,5 @@
-- 工单#4:计划用证配置。与九表额度迁移配套;执行前确认目标schema并备份。
-- 不迁移旧hazard_cert_ready到新配置,不从历史附件虚构额度或来源配对。
ALTER TABLE pl_plan
ADD COLUMN cert_configuration JSON NULL COMMENT '用证来源配对、候选选择与逐证条件确认;非放行状态'
AFTER hazard_cert_ready;