/** * Продление сроков на сутки для приостановленных сделок (пауза/арбитраж). */ public function prolongPaused(&$cntIn = 0, &$cntOut = 0) { $db = new DB('master'); $sql = "SELECT lc.* FROM sbr_stages st \n INNER JOIN sbr s ON s.id = st.sbr_id\n INNER JOIN pskb_lc lc ON lc.sbr_id = s.id AND lc.lc_id IS NOT NULL\n LEFT JOIN sbr_events se ON se.sbr_id = s.id AND se.own_id = st.id AND ev_code = 14 AND se.version = st.version AND se.version <= st.frl_version\n LEFT JOIN sbr_versions sve ON sve.event_id = se.id AND sve.src_type_id = 6 AND sve.new_val = '2'\n WHERE st.status = 3 OR ( st.status = 2 AND sve.event_id IS NOT NULL )"; $data = $db->rows($sql); if (!$data) { return false; } $cntIn = count($data); $list = array(); foreach ($data as $row) { $list[] = intval($row['lc_id']); } $pskb = new self(); $resp = $pskb->_checks(json_encode(array('id' => $list))); foreach ($data as $row) { if (!$row['lc_id'] || !isset($resp[$row['lc_id']])) { continue; } $lc = $resp[$row['lc_id']]; if (preg_match('/^exp/', $lc->state) || in_array($lc->state, array(self::STATE_END, self::STATE_ERR))) { continue; } $pskb = new self(); $pskb->_lc = $row; $res = $pskb->prolongLC($lc->id, 1); } }