From b264b8fd92b11541fe2b6a9cb4779e5f8bdcf466 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Sat, 8 Aug 2026 15:17:35 +0530 Subject: [PATCH] Fix IPD assigned doctor updates Allow doctor assignments to be removed when the optional deletion archive table is unavailable, while retaining archival behavior where supported. --- app/Models/IpdModel.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/Models/IpdModel.php b/app/Models/IpdModel.php index 73808c4..564cc86 100644 --- a/app/Models/IpdModel.php +++ b/app/Models/IpdModel.php @@ -94,20 +94,22 @@ class IpdModel extends Model return 0; } - $user = $this->getUserIdentity(); - $row['update_by_id'] = $user['id']; - $row['update_by'] = $user['name'] . '[' . date('Y-m-d H:i:s') . ']'; + if ($this->db->tableExists('ipd_master_doc_list_delete')) { + $user = $this->getUserIdentity(); + $row['update_by_id'] = $user['id']; + $row['update_by'] = $user['name'] . '[' . date('Y-m-d H:i:s') . ']'; + $archiveData = $this->filterTableDataByExistingColumns('ipd_master_doc_list_delete', $row); - $inserted = $this->db->table('ipd_master_doc_list_delete')->insert($row); - if (! $inserted) { - return 0; + if (empty($archiveData) || ! $this->db->table('ipd_master_doc_list_delete')->insert($archiveData)) { + return 0; + } } - $this->db->table('ipd_master_doc_list') + $deleted = $this->db->table('ipd_master_doc_list') ->where('id', $ipdDocId) ->delete(); - return 1; + return $deleted ? 1 : 0; } public function replaceIpdDoctors(int $ipdId, array $doctorIds): void