Sp_System_ReCostStructure.md 2.15 KB

Sp_System_ReCostStructure (procedure)

@author:杨恒林 @date:20210616 封存 @describe: 成本结构发生变化时,需要保存当前的数据到备份表,CotOrderCostAnalysis+时分秒

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

Parameters

# Mode Name Type
1 IN sProInParam varchar(100)
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 PROCEDURESpSystem_ReCostStructure'._

Narrative

Business context: 成本管理 → 成本结构维护 — snapshot the active cost-analysis table when 成本结构 schema changes. Header comment (@author:杨恒林 @date:20210616 封存): "成本结构发生变化时,需要保存当前的数据到备份表,CotOrderCostAnalysis+时分秒". Production version (paired with the _new developer copy); after renaming the table it re-initialises a Jan 2000 placeholder period via Sp_System_InitCurrentPeriodCost.

What it does: Hard-codes p_sDbName='xlyweberp' and p_sTableName='cotordercostanalysis'+DATE_FORMAT(NOW(),'%Y%m%d%H%i%s'). Checks information_schema.tables for cotordercostanalysis; if present executes ALTER TABLE CotOrderCostAnalysis rename to <p_sTableName> via PREPARE/EXECUTE. Re-checks and DROP TABLE cotordercostanalysis if it still exists. Calls Sp_System_InitCurrentPeriodCost('2000-01-01','2000-01-01','200001', sMakePerson, sBrId, sSuId, sReturn, sCode) to seed a fresh empty period, then clears sReturn.

Invocation: No gdsmodule binding, no form-master, no other-proc, no xly-src match beyond script/标版/30100101/cost/Sp_System_ReCostStructure.sql install script — dispatched dynamically by GenericProcedureCallServiceImpl.doGenericProcedureCall() from a 成本结构维护 admin button (likely 重置成本结构). The hard-coded xlyweberp database name and 封存 tag suggest this is brittle in multi-tenant SaaS; verify before invoking.