# `Fun_HasJsonKey` (function) - **Type:** FUNCTION - **Returns:** `int` - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `sJson` | `longtext` | | 2 | IN | `skey` | `varchar(50)` | | 3 | IN | `sValue` | `varchar(50)` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE FUNCTION `Fun_HasJsonKey`'`._ ## Narrative **Business context:** JSON-array contains-key/value probe used by the 生产计划 (production-plan) info-tree builders. Asks: "Does the JSON array `sJson` contain an object whose property `skey` equals `sValue`?". Lets the plan-tree procs gate logic on whether a given `sId`/flag is already present in an in-memory list. **What it does:** validates `sJson`, iterates `JSON_LENGTH` slots, for each slot `JSON_EXTRACT`s `$.skey`, strips surrounding quotes, compares to `sValue`. Returns `1` on first match, `0` otherwise (or `0` on invalid JSON). **Invocation:** referenced by `sp_manufacture_productionplaninfotrace`, `sp_manufacture_productionplaninfotrace1`, `Sp_Manufacture_ProductionPlanInfoTree_Base`, and `Sp_Manufacture_ProductionPlanInfoTree_Base_TC`. xly-src copies under `script/标版/30100101/schedule/`. Cluster sibling of `Fun_RemoveJsonKey`/`Fun_AddJsonKey`-style mutators.