Deactivate t_send_email when email delivery unchecked (chex=N)

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 <noreply@anthropic.com>
This commit is contained in:
sas.fajri
2026-05-24 22:20:13 +07:00
parent 67d4431361
commit 46c3138f3c

View File

@@ -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;
}
}
}
}