Sp_SplicingTableSql.md 2.1 KB

Sp_SplicingTableSql (procedure)

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

Parameters

# Mode Name Type
1 IN sFormGuid varchar(50)
2 IN sTemplateGuid varchar(50)
3 IN p_sWhere longtext
4 IN sLoginId varchar(255)
5 IN sBrId varchar(50)
6 IN sSuId varchar(50)
7 OUT sReturn text
8 OUT sCode int

Body

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

Narrative

Business context: 财务管理 → 凭证管理 — generic source-table → 凭证模板 (UdfVoucherTemplate) column-mapping SQL builder. Used by the universal voucher-generation flow to splice a per-form SELECT ... INSERT INTO udfvoucherslave based on which optional columns the source gdsconfigformmaster table actually has (sSlaveId, sWareHouseId, sMaterialsId, sCustomerId, sSupplyId, sBankId, sProductId, sInvoiceNo, sMemo, dCostMoney/dProfitLossMoney/dMaterialsMoney, dSlaveTotalMoney/dTotalMoney, …).

What it does: Resolves p_sSrcTableName from gdsconfigformmaster.sTbName WHERE sParentId=sFormGuid; reads p_sSumType from udfvouchertemplatemaster; then conditionally appends to p_sInsertSql and p_sSelectSql via EXISTS(... information_schema.COLUMNS WHERE COLUMN_NAME=...) checks — every optional column on the source table becomes a paired insert+select term. Money columns fall through dCostMoney → dProfitLossMoney → dMaterialsMoney and dSlaveTotalMoney → dTotalMoney → dProductMoney cascades. Returns the assembled column-mapping SQL fragment via sReturn for the caller to assemble the final voucher-insert statement.

Invocation: Called by Sp_InsertVoucher_Universals_All and Sp_InsertVoucher_Universals_Pro — the two universal voucher-generation procs that consume any audited business bill and emit 财务凭证. Install script: script/标版/30100101/Sp_SplicingTableSql.sql. No direct xly-src or gdsmodule binding — strictly an internal helper.