Sp_Check_sRcts (procedure)
收款单保存之前数据校验(汇总)
- Type: PROCEDURE
- Deterministic: NO
- SQL data access: CONTAINS SQL
Parameters
| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | sTableName |
varchar(100) |
| 2 | IN | sGuid |
varchar(100) |
| 3 | IN | sFormGuid |
varchar(100) |
| 4 | IN | sLoginId |
varchar(100) |
| 5 | IN | sBrId |
varchar(100) |
| 6 | IN | sSuId |
varchar(100) |
| 7 | IN | iFlag |
int |
| 8 | OUT | sCode |
int |
| 9 | OUT | sReturn |
varchar(4000) |
Body
Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpCheck_sRcts'._
Narrative
Business context: Inferred from the name and routine comment: 财务管理 → 财务收付款 → 收款单(汇总) — would-be post-save validator on cahreceiptmaster with cahreceiptslave/cahreceiptsumslave allocation. Distributes the master's total receipt money and rounding money across the matched slave invoice lines (ordered by remaining dBalanceMoney) so each line consumes only up to its outstanding balance, then rolls the per-condition slave totals back into the summary table.
What it does: Sets sCode=1, iFlag=0, clears sReturn. Reads master dTotalMoney/dRoundingMoney into running counters. Opens a cursor over cahreceiptslave joined to cahreceiptsumslave by sSqlConditionId, ordered ascending by dBalanceMoney. For each slave row: if remaining p_dTotalMoneySum > ABS(dBalanceMoney), subtracts the balance from the counter (the totalMoney UPDATE is commented out — only the running balance is tracked); otherwise zeros the counter. The rounding-money branch still writes: UPDATE cahreceiptslave SET dRoundingMoney = <p_dBalanceMoney or p_dRoundingMoneySum> to spread the rounding to fit each slave's balance. After the cursor, rolls per-condition SUM(dTotalMoney)/SUM(dRoundingMoney) back into cahreceiptsumslave. Finally calls Sp_afterSave_sRcts. The 超额生成新单据 branch (creating a new cahreceiptmaster for the overflow) is fully commented out.
Invocation: Status: appears orphaned. No gdsmodule row binds this proc on sSaveProName/sSaveProNameBefore; the peer Sp_Calc_sRcts is also unbound. No other routine references it. xly-src ships script/标版/30100101/Sp_Check_sRcts.sql as the install body — the script is in the codebase but no 收款单(汇总) form-master row currently wires it — candidate for maintainer audit (the family is set up but disabled).