Sp_Calc_sPmt.md 2.39 KB

Sp_Calc_sPmt (procedure)

付款单

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

Parameters

# Mode Name Type
1 IN iFlag int
2 IN iTmpCheck int
3 IN sFormGuid varchar(100)
4 IN sGuid varchar(100)
5 IN sLoginId varchar(100)
6 OUT sReturn varchar(100)
7 IN sBrId varchar(100)
8 IN sSuId varchar(100)
9 OUT sCode int

Body

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

Narrative

Business context: KPI流程操作菜单 → 财务收付款 → 付款单 — supplier payment audit on CahPaymentMaster. The check posts the payment into the cashbook (CahWasteBook), settles the matched payable rows (CahPaymentables / CahFinancialAdjust / cahsupplyinit / accmaterialsinitslave), back-stamps the linked purchase-checking and outsourced-checking documents, and writes a KPI row; the uncheck rolls every leg back.

What it does: Guards on bInvalid/SysLocking against CahPaymentMaster. Aggregates dTotalMoney/dMinusMoney/dRoundingMoney from CahPaymentSlave. On iFlag=1: when CkxDefineCheck=1 & iTmpCheck<>1 iterates each slave through Sp_System_CheckFlow; deletes any stale CahPaymentNewMaster rows for this bill and reinserts a fresh consolidated row; writes a CahWasteBook entry tagged with the CbxPayablesType setting; updates CahPaymentables/CahFinancialAdjust/cahsupplyinit so the matched payables show dPayMoney/dCheckingMoney consumed; propagates sCheckPerson/tCheckDate into upstream PurPurchaseCheckingMaster/PurPurchaseInStoreMaster/PurPurchaseInvoiceSlave/OpsOutsideProcessMaster/opsoutsidecheckingslave/opsoutsideinvoiceslave; writes kpidetail per slave; flips bCheck=1, sStatus=1 on the master. iFlag=0 symmetrically reverses.

Invocation: Bound to gdsmodule.sProcName on 付款单 (sId 192116810113315233387186220, parent 财务收付款) — dispatched by BusinessBaseServiceImpl.getPrcName(sFormGuid, …) on the audit/un-audit button. xly-src ships script/标版/30100101/Sp_Calc_sPmt.sql (install) and script/标版/upgrade/20220104审核去除结账校验/Sp_Calc_sPmt.sql (period-validation removal patch). Body size 75K — the largest in the Sp_Calc_s* family.