Sp_afterSave_sPpr.md 2.31 KB

Sp_afterSave_sPpr (procedure)

产量上报保存后反写数量

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

Parameters

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

Body

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

Narrative

Business context: 产量上报 → 订单生产流程 → KPI流程操作菜单 — header says 产量上报保存后反写数量. Save-phase wrapper in the Sp_afterSave_s<Code> family for 产量上报 (production-quantity-report) bills. Unlike most siblings this one carries real body logic on top of the standard Sp_saveReturn_sPpr delegation: an 超报校验 (over-report validation) guard plus several housekeeping updates on mftproductionreportslave / mftproductionreportemployee.

What it does: Sets iFlag default 0 and sReturn empty; when iFlag=0 builds a temporary table p_Root_MftProductionReportSlave joining MftProductionReportSlavemftproductionplanslave and compares SUM(dProcessQty) of all report rows against the plan's dProcessQty; if any process is over-reported it emits the sOverReport i18n message and LEAVE top with sCode=-7. Then deletes empty-employee rows from mftproductionreportemployee; recomputes dOtherHour/dAllHour/dSumEmpNum/dEmpHour on mftproductionreportslave; reads the CbxProductionReport setting from SysSystemSettings; finally calls Sp_saveReturn_sPpr(sGuid, sBrId, sSuId, 2, @sCode, @sReturn).

Invocation: Status: appears dormant. Both known call sites are commented out — Sp_Check_sPpr (the proc bound via gdsmodule.sSaveProName on 产量上报) has its call Sp_afterSave_sPpr(...) block commented, and the Sp_Invalid_backwriting dispatch branch for sFormGuid='19211681019715476042694840' (产量上报) is also commented. No live caller found in any channel — candidate for maintainer audit.

Caveats: uses sGuId (capital I) in several queries while the parameter is sGuid — relies on MySQL identifier case-insensitivity, but the inconsistency is worth flagging.