diff --git a/engine/classes/Requisitions.php b/engine/classes/Requisitions.php index 48e69c9..53c44f7 100644 --- a/engine/classes/Requisitions.php +++ b/engine/classes/Requisitions.php @@ -4919,9 +4919,41 @@ class Requisitions{ $linkedReq = $this->db->fetch_assoc($this->db->query($linkedReqSql)); if ($linkedReq) { - $reason = 'Закрыта, т.к. была смежной заявкой по сделке ID: ' . $dealId; + $reason = 'Закрыта, т.к. была смежной заявкой по заявке ID ' . $id; - $this->db->query("UPDATE requisitions SET deleted=1, confirm=10, reason='" . addslashes($reason) . "', who_delete=$user_id WHERE id=$linkedReqId"); + $linkedReqData = $this->db->fetch_assoc($this->db->query("SELECT funnel_id, agency_id FROM requisitions WHERE id=$linkedReqId LIMIT 1")); + $linkedFunnelId = intval(isset($linkedReqData['funnel_id']) ? $linkedReqData['funnel_id'] : 0); + $linkedLastStepId = 8; + + if ($linkedFunnelId > 0) { + $lq = $this->db->query("SELECT MAX(order_number) as last_stage FROM funnel_steps WHERE funnel_id = $linkedFunnelId AND deleted = 0"); + if ($lq && $this->db->num_rows($lq) > 0) { + $lr = $this->db->fetch_assoc($lq); + if ($lr['last_stage'] !== null) $linkedLastStepId = intval($lr['last_stage']); + } + } else { + $linkedAgencyId = intval(isset($linkedReqData['agency_id']) ? $linkedReqData['agency_id'] : 0); + if ($linkedAgencyId > 0) { + $ldq = $this->db->query("SELECT id FROM funnel_default WHERE agency_id = $linkedAgencyId LIMIT 1"); + if ($ldq && $this->db->num_rows($ldq) > 0) { + $ldr = $this->db->fetch_assoc($ldq); + $defaultFunnelId = intval($ldr['id']); + if ($defaultFunnelId > 0) { + $lq = $this->db->query("SELECT MAX(order_number) as last_stage FROM funnel_steps WHERE funnel_id = $defaultFunnelId AND deleted = 0"); + if ($lq && $this->db->num_rows($lq) > 0) { + $lr = $this->db->fetch_assoc($lq); + if ($lr['last_stage'] !== null) $linkedLastStepId = intval($lr['last_stage']); + } + } + } + } + } + + if ($linkedFunnelId > 0) { + $this->db->query("UPDATE requisitions SET deleted=1, confirm=10, step_id=$linkedLastStepId, reason='" . addslashes($reason) . "', who_delete=$user_id WHERE id=$linkedReqId"); + } else { + $this->db->query("UPDATE requisitions SET deleted=1, confirm=10, stage=$linkedLastStepId, reason='" . addslashes($reason) . "', who_delete=$user_id WHERE id=$linkedReqId"); + } $this->db->query("INSERT INTO events_clients (user_id, req_id, from_id, client_id, event, `read`, dop_text, date_update) VALUES (" . $linkedReq['who_work'] . ", $linkedReqId, $user_id, " . $linkedReq['client_id'] . ", 'delete', '1', '" . addslashes($reason) . "', NOW())");