Sp_Check_sPsra.md 2.27 KB

Sp_Check_sPsra (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_sPsra'._

Narrative

Business context: Inferred from the name and routine comment: 销售管理 → 销售退货 → 销售退货申请 — would-be post-save validator on salrejectgoodsapplymaster/salrejectgoodsapplyslave. Guards 退货走账/无实物退货 mutual exclusion, recomputes line money against tax rate, and ensures the requested return qty does not exceed the actual 出库 qty in the originating delivery note.

What it does: Sets sCode=1, iFlag=0, clears sReturn. Aborts with sChooseThzz ("勾选了退货走账,不能勾选无实物退货") when any slave row has both bNoObject=1 and the master's bNotAccident=1. Then UPDATE salrejectgoodsapplyslave INNER JOIN sistax recomputes dProductMoney, dProductForeignMoney, dProductNoTaxPrice/Money, dProductTaxMoney, dNProductPrice/Money per the joined tax rate. Opens a cursor over the slave rows and, for each sSrcNo+sProductId+sDefineNo, sums the matching saldelivergoodsslavechildren.dProductQty (joined via saldelivergoodsmaster.sBillNo) and aborts with a concatenated sChooseThzz/sOutStoreQtyLessReturn ("在出库单中的出库数量少于退货申请数量;请重新选择批次,出库单号") when the requested qty exceeds the delivered qty.

Invocation: Status: appears orphaned. No gdsmodule row binds this proc on sSaveProName/sSaveProNameBefore. No Sp_Calc_sPsra exists either. No other routine references it, no xly-src hit (no install script). The body is substantive and clearly intended for a 销售退货申请 form, but the dispatch wire is missing — candidate for maintainer audit.