Sp_CalcAttribDate (procedure)
- Type: PROCEDURE
- Deterministic: NO
- SQL data access: CONTAINS SQL
Parameters
| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | sGuid |
varchar(50) |
| 2 | IN | sBrId |
varchar(100) |
| 3 | IN | sSuId |
varchar(100) |
Body
Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpCalcAttribDate'._
Narrative
Business context: 生产管理 / 上报 — date-attribution helper that resolves which calendar day a production-report slave (mftproductionreportslave) should belong to. The shop runs across shift boundaries, so the slave row's tVestingDate (归属日期) is not always the same as tCreateDate; the team type (白班/晚班) and the machine's sOffWork/sShiftsWork cut-off govern which day the output is credited to for shift-based wage and KPI roll-ups.
What it does: Cursors over viw_mftproductionreport (optionally narrowed by sGuid) where bInvalid=0. For each row, reads elemachine.sOffWork, sShiftsWork, sWorkType. When sWorkType='1' (day-only) sets tVestingDate to the create date with sTeamType='1'. Otherwise compares the create-time-of-day to the shift cut-off (tShiftsWork) and assigns the date to either the same day or the previous day, with sTeamType updated accordingly on mftproductionreportslave.
Invocation: Called by procedure Sp_Calc_sPpr (生产上报审核 audit handler) — re-derives the slave's vesting date whenever an upstream report is audited. No direct Java caller; no form-master binding.