diff --git a/engine/classes/Requisitions.php b/engine/classes/Requisitions.php index 5ebe09b..b0138e3 100644 --- a/engine/classes/Requisitions.php +++ b/engine/classes/Requisitions.php @@ -4870,6 +4870,24 @@ // Если сделка (is_deal=true) ИЛИ все заявки закрыты — ставим статус 1 (успешная) $this->db->query("UPDATE deals SET status = 1 WHERE id = $dealId AND status != 2"); + // Закрытие смежной заявки (стороны 2) со статусом успешно + $dealSql = "SELECT title, side_two_requisition_id FROM deals WHERE id = $dealId AND side_two_requisition_id IS NOT NULL AND side_two_requisition_id > 0 LIMIT 1"; + $dealRow = $this->db->fetch_assoc($this->db->query($dealSql)); + if ($dealRow) { + $linkedReqId = intval($dealRow['side_two_requisition_id']); + $linkedReqSql = "SELECT id, who_work, client_id, deleted FROM requisitions WHERE id = $linkedReqId AND deleted = 0 LIMIT 1"; + $linkedReq = $this->db->fetch_assoc($this->db->query($linkedReqSql)); + + if ($linkedReq) { + $reason = 'Закрыта, т.к. была смежной заявкой по сделке "' . addslashes($dealRow['title']) . '"'; + + $this->db->query("UPDATE requisitions SET deleted=1, confirm=10, 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())"); + } + } + // Запись в историю сделки $userObj = new User; $userObj->get($user_id);