Sp_addBtn_gdsmodle (procedure)
新增按钮
- Type: PROCEDURE
- Deterministic: NO
- SQL data access: CONTAINS SQL
Parameters
No parameters.
Body
Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpaddBtn_gdsmodle'._
Narrative
Business context: One-shot DBA / install-time helper. Header says 新增按钮 ("add buttons"). Retrofits the standard toolbar button row (BtnAdd / BtnUpd / BtnDel / BtnBsOperation.BtnInvalid / BtnExamine / BtnOut / BtnRefresh / BtnSave / BtnCancel / BtnCancelExamine) onto the primary form of every gdsmodule row whose sDisplayType='Business', so newly created Business modules get the full button set without the dev having to wire 10 gdsconfigformslave rows by hand.
What it does: Cursors over gdsmodule WHERE sName <> '' AND sDisplayType ='Business'; for each, picks the gdsconfigformmaster child (or, if multiple, the one with bGrd=0 ordered by iOrder); runs 10 INSERT … SELECT … FROM DUAL WHERE NOT EXISTS (…) blocks — one per standard sControlName — into gdsconfigformslave under that form, hard-coding tenant sBrandsId='1111111111' / sSubsidiaryId='1111111111'.
Invocation: Status: appears orphaned. No caller found in any channel (form-master, gdsmodule hooks, other routines, xly-src grep) — candidate for maintainer audit. The proc is idempotent (every INSERT is guarded by NOT EXISTS), so it's safe to run manually as a one-shot retrofit; the standard new-module flow today seeds buttons through a different path.
Caveats: hardcoded tenant GUID '1111111111' makes this single-tenant only; the 审核 (BtnExamine) NOT EXISTS guard checks sControlName='BtnBsOperation.BtnInvalid' instead of BtnExamine — copy-paste bug that lets BtnExamine be inserted twice or skipped depending on the order of prior runs.