getSysjurisdictionChildrenPro.md 1.64 KB

getSysjurisdictionChildrenPro (procedure)

获取权限树的子权限(递归用)

  • Type: PROCEDURE
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN sLague varchar(8)
2 IN sbid varchar(255)
3 IN ssid varchar(255)
4 IN p_pSid varchar(255)
5 IN p_key varchar(255)
6 IN sLicense text
7 IN treeNode longtext
8 OUT newTreeNode longtext

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDUREgetSysjurisdictionChildrenPro'.

Narrative

Business context: 系统管理 / 权限管理 — recursive child-builder for the role-permission tree assembled by getSysjurisdictionTreePro. Walks one level of gdsmodule.sParentId = p_pSid, filtered by the tenant's license (Locate(',sId,', ',sLicense,') > 0) and excluding sDisplayType='System'.

What it does: Cursors over the licensed children of p_pSid in iOrder order. For each row, selects the display name per sLague (sChinese / sEnglish / sBig5), builds key = CONCAT(p_key,'-',sId), emits {sId, sName, iOrder, key, isLeaf, showName, children:[...]}, and recurses into itself when descendants exist (@@max_sp_recursion_depth = 10). The accumulated treeNode is returned via the OUT parameter newTreeNode.

Invocation: Called only by getSysjurisdictionTreePro and recursively by itself. Not exposed directly to Java — the public entry point is getSysjurisdictionTreePro, called from SysjurisdictionServiceImpl.getSysjurisdictionTreePro().