Sp_ComematerialsInspection_BtnRepair.md 2.15 KB

Sp_ComematerialsInspection_BtnRepair (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 PROCEDURESpComematerialsInspection_BtnRepair'._

Narrative

Business context: 质量管理 → 采购进料检验(IQC) — "异常/不合格" button on the 来料检验 (incoming-materials inspection) list. Stamps the selected qlycomematerialstestmaster rows as failed inspection (iTestResult = 2) and writes the operator-provided exception memo onto each one, optionally merging in extra column changes from the same dialog.

What it does: Validates JSON parameter sProInParam (rejected with Sp_Sis_GetConst('paramsErro', …) when shorter than 5 chars), then extracts .params (the selected-row list with sId values) and .changeValue (the column-change payload, including textareaValue for the exception memo and a valueKey list of extra columns to also update). For each valueKey it builds a SET col = value, … fragment, then unconditionally appends iTestResult = 2, sExceptionMemo = <textareaValue>. For each selected row it PREPAREs a dynamic UPDATE qlycomematerialstestmaster SET <p_setSql> WHERE sId = '<rowId>' AND sBrandsId = … AND sSubsidiaryId = … and executes it. Builds the SQL via raw string concatenation — relies on the dialog producing pre-quoted JSON values, so any unescaped quote in the memo would break the prepared statement.

Invocation: Dispatched generically by GenericProcedureCallController.doGenericProcedureCall()GenericProcedureCallServiceImpl — the front-end "btnRepair" button posts the proc name with the JSON payload. No gdsmodule hook, no form-master binding, no other proc references this one, no install script ships in xly-src — the body lives only in the live DB.