Sp_Check_sLosTest (procedure)
物流单单据保存之前数据校验
- Type: PROCEDURE
- Deterministic: NO
- SQL data access: CONTAINS SQL
Parameters
| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | sGuid |
varchar(100) |
| 2 | OUT | sCode |
int |
| 3 | OUT | sReturn |
varchar(4000) |
Body
Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpCheck_sLosTest'._
Narrative
Business context: Earlier draft of Sp_Check_sLos — the freight-cost apportionment block from 物流单 post-save, kept around as a Test variant called by Sp_Calc_sLos. Same 物流单 form (logisticsordermaster); same back-calculation; trimmed signature (no tenant/login parameters).
What it does: Updates logisticsorderslave.dSrcMoney from the joined source slave depending on iSlaveLogType (1/5 → salsalesorderslave.dProductPrice * dAuxiliaryQty; 2 → purpurchaseorderslave.dMaterialsPrice * dAuxiliaryQty; 3/4 → opsoutsideprocessslave.dMaterialsPrice * dAuxiliaryQty). Then sums slave dSrcMoney and detail dProductMoney and writes dMaterialsMoney = ROUND(dSrcMoney/totalSrc * totalDetail, 2) plus the derived no-tax/tax/foreign money fields onto every slave, joining sistax for dRate. Lacks the bAheadComplete / single-tax / single-supplier guards that Sp_Check_sLos later added.
Invocation: Called from Sp_Calc_sLos (the 物流单 audit handler) via a CALL Sp_Check_sLosTest line. Not module-bound. The Test suffix and the missing guard rails mark it as an in-place test stub; production validation goes through Sp_Check_sLos.