From 46c3138f3cbdbf56a66fd51e575b5db9f3d79882 Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Sun, 24 May 2026 22:20:13 +0700 Subject: [PATCH] Deactivate t_send_email when email delivery unchecked (chex=N) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When save_delivery_additional_other receives chex=N for an EMAIL delivery, also set t_send_email.T_SendEmailIsActive='N' for rows with status D/E/C — previously only t_orderdelivery was deactivated. Co-Authored-By: Claude Sonnet 4.6 --- .../mockup/fo/supervisor_v12/Supervisor.php | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/application/controllers/mockup/fo/supervisor_v12/Supervisor.php b/application/controllers/mockup/fo/supervisor_v12/Supervisor.php index 333fa093..e2f7e05b 100644 --- a/application/controllers/mockup/fo/supervisor_v12/Supervisor.php +++ b/application/controllers/mockup/fo/supervisor_v12/Supervisor.php @@ -1576,15 +1576,15 @@ class Supervisor extends MY_Controller } if (($v['id'] != 0 || $v['id'] != '0') && $v['chex'] == 'N') { - $sql = "UPDATE t_orderdelivery - set + $sql = "UPDATE t_orderdelivery + set T_OrderDeliveryDeletedUserID = {$xuserid}, - T_OrderDeliveryIsActive = 'N' , + T_OrderDeliveryIsActive = 'N' , T_OrderDeliveryDeleted = now() where T_OrderDeliveryID = {$v['id']} "; - //echo $sql; + //echo $sql; $query = $this->db_onedev->query($sql); if (!$query) { $prm_log = ['UPDATE_T_ORDERDELIVERY_ERROR_EXIST_ID_' . $v['id'], 'order/save_delivery']; @@ -1594,6 +1594,25 @@ class Supervisor extends MY_Controller $this->sys_error_db('UPDATE_T_ORDERDELIVERY_ERROR_EXIST_ID_' . $v['id']); exit; } + + if ($v['code'] == 'EMAIL') { + $sql = "UPDATE t_send_email + SET T_SendEmailIsActive = 'N', + T_SendEmailLastUpdated = NOW(), + T_SendEmailLastUpdatedUserID = ? + WHERE T_SendEmailT_OrderDeliveryID = ? + AND T_SendEmailIsActive = 'Y' + AND T_SendEmailStatus IN ('D', 'E', 'C')"; + $query = $this->db_onedev->query($sql, [$xuserid, $v['id']]); + if (!$query) { + $prm_log = ['UPDATE_T_SEND_EMAIL_DEACTIVATE_ERROR_EXIST_ID_' . $v['id'], 'order/save_delivery']; + $xsql = $this->db_onedev->last_query(); + $log_error = $this->insert_log_error($xsql, $prm_log); + $this->db_onedev->trans_rollback(); + $this->sys_error_db('UPDATE_T_SEND_EMAIL_DEACTIVATE_ERROR_EXIST_ID_' . $v['id']); + exit; + } + } } }