Sp_System_CalcCurrentPeriodCost.md 2.85 KB

Sp_System_CalcCurrentPeriodCost (procedure)

@author:杨恒林 @date:20210523 封存 @describe: 从成本月结表中,拿到工单数据,计算本月成本数据后回写到成本月结表 注意点: 1.本期期初成本从本工单最近一次月结成本表中获取,不一定就是上期 2.在制品是指所有入库数小于工单数的工单

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

Parameters

# Mode Name Type
1 IN tStartDate datetime
2 IN tEndDate datetime
3 IN sPeriod varchar(100)
4 IN sProInParam varchar(255)
5 IN sMakePerson varchar(100)
6 IN sBrId varchar(100)
7 IN sSuId varchar(100)
8 OUT sReturn varchar(1000)
9 OUT sCode int

Body

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

Narrative

Business context: 成本核算 → 订单成本分析 / 工单本期成本 — period-cost kernel: for every工单 (accordercostanalysis row) inside the requested closing period, recomputes 本期入库金额/数量/直接材料/人工/制造费用 and back-writes them onto the cost month-end table. Header (杨恒林 2021-05-23 封存) flags two subtleties: (1) 期初成本 comes from the work order's most recent prior month-end row, not necessarily the immediately preceding period; (2) 在制品 = orders whose cumulative入库数 still falls short of the order qty.

What it does: Loads the targeted accounting period (resolved from sPeriod/tStartDate/tEndDate against sysaccountperiod). For each accordercostanalysis row in scope, sums the period's 入库金额 from product inflow ledgers, 直接材料 from materials-issue history, 直接人工 from accexpenseentryworkcenterslave, 制造费用 / 部门费用 from accdepart/accexpenseentrydepartmentmaster, applies the carry-over 期初 amount looked up from the most recent prior month-end row of the same工单, and writes the resulting dInMoney/dInQty/dEndMoney/dEndQty/d_*Cost columns back. sProInParam lets the caller scope to a subset of orders; sMakePerson is recorded as the operator.

Invocation: Called by Sp_CalcCost_BtnEventReCalcCost (the 重新计算本期成本 button) and by Sp_Cost_OrderCostAnalysis (the 订单成本分析 entry point). Both upstream callers are dispatched by GenericProcedureCallServiceImpl.doGenericProcedureCall() from the 财务月结 / 成本核算 button toolbars. Install copies: script/标版/30100101/cost/Sp_System_CalcCurrentPeriodCost.sql, Sp_CalcCost_BtnEventReCalcCost.sql, Sp_Cost_OrderCostAnalysis.sql. Dated backup Sp_System_CalcCurrentPeriodCost_1115 retains an older revision of the same proc.