Changed from complex string comparisons to simple integer comparisons matching legacy CI3 code: OPD query (CI3 pattern): - OLD: o.insurance_case_id = cast(c.id as char) OR o.insurance_case_id = c.case_id_code - NEW: o.insurance_case_id = c.id (integer comparison) Invoice query (CI3 pattern): - OLD: i.insurance_case_id = c.id OR i.insurance_case_id = c.case_id_code (with NULL/0 checks) - NEW: i.insurance_case_id = c.id (integer comparison) Schema notes: - opd_master.insurance_case_id: int(11) - invoice_master.insurance_case_id: varchar(50) (but stores numeric IDs) MySQL varchar→int conversion handles this correctly: - '4997' → 4997 (matches) - '0' → 0 (doesn't match 4997) - 'C26060004997' → 0 (doesn't match 4997) Applied to: - getOrganizationCaseInvoiceRows() union query - updateOrgTotals() aggregate queries - search() case list query |
||
|---|---|---|
| .. | ||
| CaseMaster.php | ||
| Charges.php | ||
| Ipd.php | ||