Sp_CalcCost_BtnEventCalcCost.md 1.94 KB

Sp_CalcCost_BtnEventCalcCost (procedure)

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

Parameters

# Mode Name Type
1 IN sProInParam varchar(10000)
2 IN sMakePerson varchar(100)
3 IN sBrId varchar(100)
4 IN sSuId varchar(100)
5 OUT sReturn varchar(1000)
6 OUT sCode int

Body

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

Narrative

Business context: 业财一体化 / 成本核算 — month-end cost-accounting run. Triggered from the 成本核算 (cost accounting) screen's main 核算 button against one accounting period (sysaccountperiod); rolls work-order direct cost, indirect material cost, expense-allocation by cost-centre, and frozen-inventory valuation, then writes back to the order/stock/period tables.

What it does: Parses one sysaccountperiod.sId out of sProInParam, refuses when the prior period has no sCalCostPerson (must close prior period first). Stamps mftworkordermaster.tFactCountCost = period_end + 1 on every checked order whose tCreateDate falls in the period (and on un-finalised carry-over orders). Then performs the cost roll-up via dynamic SQL into TmpCost, joins back into MftWorkOrderSlave/CotOrderCostAnalysis/EleProductStock/PitProductInStoreSlave, and finally writes sCalCostPerson, tCalCostDate, bCost=1 (and related flags) on sysaccountperiod. Uses EleWorkCenter and EleCostFrame counts to scope which work-centres/expense frames apply.

Invocation: Dispatched dynamically by GenericProcedureCallServiceImpl.doGenericProcedureCall() — the 成本核算 form's 核算 toolbar button names Sp_CalcCost_BtnEventCalcCost as the action. Companion procs (Sp_CalcCost_BtnEventReCalcCost, Sp_CalcCost_BtnEventReCalcCost_new) cover re-run scenarios.