Sp_bd_TmAnalysis.md 1.64 KB

Sp_bd_TmAnalysis (procedure)

单个机台时间分析

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

Parameters

# Mode Name Type
1 IN sPlcNo varchar(100)
2 IN sBrId varchar(100)
3 IN sSuId varchar(100)
4 OUT sCode int
5 OUT sReturn varchar(5000)

Body

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

Narrative

Business context: 看板管理 — "单个机台时间分析" donut tile. Time-by-status breakdown for one PLC-mapped press over the current shift window (anchored on elemachine.sOffWork / sShiftsWork).

What it does: Resolves sMachineGuid, sOffWork, sShiftsWork from elemachine by iPlcNo/sBrandsId/sSubsidiaryId, computes the shift boundary, then SUMs plc_machinedata.dProduceHour grouped by sStatus (empty status coerced to waitingWork) for that machine in the last shift window. Each status is translated to its Chinese label (生产中 / 下班停机 / 设备异常 / 设备保养 / 文件异常 / 纸张异常 / 待料异常 / 停机待料) and serialised to a JSON donut payload {"data":[{"x":<label>,"y":<hours>}...],"subTitle":"总时间"} via OUT sReturn.

Invocation: No install script in xly-src, no form-master, no gdsmodule hook, no Java caller, no other-routine caller. Reached only by an external dashboard HTTP endpoint that calls the proc by name. Note: the body force-sets sSuId = '2220000222' ignoring the input — likely a demo-customer hard-coding, verify before relying on it.