Sp_PurpurchaseOrder_CheckUpdate.md 1.9 KB

Sp_PurpurchaseOrder_CheckUpdate (procedure)

采购订单保存校验

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

Parameters

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

Body

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

Narrative

Business context: 采购管理 / 物料采购流程 → 采购订单 (module 192116810113315217757747140) — pre-save helper that snapshots the original purchase price into dOldMaterialsPrice / dOldMaterialsMoney on every purpurchaseorderslave row of the order being saved, so downstream procs (and the user-visible "原价" column) keep the pre-edit price for audit. Despite the _CheckUpdate suffix and COMMENT '采购订单保存校验', the body is back-write rather than validation.

What it does: UPDATE purpurchaseorderslave SET dOldMaterialsPrice = dMaterialsPrice WHERE sParentId = sGuid, then UPDATE purpurchaseorderslave SET dOldMaterialsMoney = ROUND(dOldMaterialsPrice * dMaterialsQty, 2) WHERE sParentId = sGuid. Further blocks in the body handle approval-flow message dispatch (p_sMsgId, p_sMakePersonGroupName) — see body for the rest.

Invocation: Called by Sp_Check_sPod (the audit check proc bound to the 采购订单 module via gdsmodule.sSaveProName='Sp_Check_sPod', sId 192116810113315217757747140). So this proc fires indirectly during save of a 采购订单 (sFormId matches the order form) via the standard POST-save Check chain dispatched by BusinessBaseServiceImpl. Not present in xly-src 30100101 install scripts — DB-only.