From 992fd83ff2ea23bdaae0a0a12af4303b97bb5cfb Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Mon, 13 Apr 2026 12:57:16 +0530 Subject: [PATCH] Normalize separator variants in consult medicine SQL search --- app/Controllers/Opd_prescription.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/Controllers/Opd_prescription.php b/app/Controllers/Opd_prescription.php index 73c3708..ec09e46 100644 --- a/app/Controllers/Opd_prescription.php +++ b/app/Controllers/Opd_prescription.php @@ -5046,6 +5046,18 @@ class Opd_prescription extends BaseController if ($qFirstToken !== '' && mb_strlen($qFirstToken) >= 1) { $builder->orLike($nameField, $qFirstToken, 'after'); } + + // Normalize separators so variants like "utor", "u-tor", "u tor" match each other. + if ($qNormalized !== '') { + $qNormalizedSql = str_replace("'", "''", strtoupper($qNormalized)); + $nameNormalizedSql = "REPLACE(REPLACE(UPPER(" . $nameField . "), '-', ''), ' ', '')"; + $builder->orWhere($nameNormalizedSql . " LIKE '%" . $qNormalizedSql . "%'", null, false); + + if ($formField !== null) { + $formNormalizedSql = "REPLACE(REPLACE(UPPER(" . $formField . "), '-', ''), ' ', '')"; + $builder->orWhere($formNormalizedSql . " LIKE '%" . $qNormalizedSql . "%'", null, false); + } + } $builder->groupEnd(); }