0) ? $pageRecord : 100; if ($encoding_queue_id) { $dataParams = [$encoding_queue_id]; switch ($type) { case 'new': $status_clause = ' AND eqd.status = "new"'; break; case 'error': $status_clause = ' AND eqd.status IN ("image_missing","audio_missing","incorrect_audio_count","metadata_missing","metadata_error","audio_missing_for_delivery","image_missing_for_delivery","incorrect_audio_count_for_delivery","delivery_failure","system_error","audio_encoding_error","image_encoding_error","system_cancelled","video_missing","video_encoding_error","video_missing_for_delivery")'; break; case 'wait': switch ($subtype) { case "ready_to_encode": $status_clause = ' AND eqd.status = ?'; $dataParams[] = $subtype; break; case "ready_to_deliver": case "encoded": case "queued_for_delivery": $status_clause = ' AND eqd.status IN ("encoded","queued_for_delivery","ready_to_deliver")'; break; default: $status_clause = ' AND eqd.status IN ("ready_to_encode","encoded","queued_for_delivery","ready_to_deliver")'; } break; case 'process': switch ($subtype) { case "encoding": case "delivering": $status_clause = ' AND eqd.status = ?'; $dataParams[] = $subtype; break; default: $status_clause = ' AND eqd.status IN ("encoding","delivering")'; } break; case 'complete': $status_clause = ' AND eqd.status = "delivered"'; break; case 'cancelled': $status_clause = ' AND eqd.status IN ("cancelled", "ineligible")'; break; default: $status_clause = ' AND eqd.status = ""'; } $whereClause = 'eq.encoding_queue_id = ?' . $status_clause; } else { $dataParams = []; $search_criteria = array(); $whereClause = ''; /** see if we need to now check track types in the report by what they selected from contains_only dropdown */ if ((empty($contains_only)) || (!empty($contains_only) && count($contains_only) == 3)) { $track_check = false; } else { $track_check = true; } if ($encoding_order_id) { $whereClause .= ' AND eq.encoding_order_id = ?'; $dataParams[] = $encoding_order_id; $search_criteria[$criteria_counter]["name"] = "encoding_order_id"; $search_criteria[$criteria_counter]["value"] = $encoding_order_id; $criteria_counter++; } if ($err_log) { $whereClause .= ' AND eqd.error_log LIKE ?'; $dataParams[] = '%' . $err_log . '%'; $search_criteria[$criteria_counter]["name"] = "encoding_order_id"; $search_criteria[$criteria_counter]["value"] = $encoding_order_id; $criteria_counter++; } if ($encoder) { $whereClause .= ' AND eq.encoder_id = ?'; $dataParams[] = $encoder; $search_criteria[$criteria_counter]["name"] = "encoder"; $search_criteria[$criteria_counter]["value"] = $encoder; $criteria_counter++; } if (!empty($dd_status)) { $status_list = array(); $search_criteria[$criteria_counter]["name"] = "status[]"; $search_criteria[$criteria_counter]["value"] = implode(',', $dd_status); $criteria_counter++; } if ($eo_priority) { $whereClause .= ' AND eq.priority = ?'; $dataParams[] = $eo_priority; $search_criteria[$criteria_counter]["name"] = "eo_priority"; $search_criteria[$criteria_counter]["value"] = $eo_priority; $criteria_counter++; } if ($upcs) { $upcs_arr = array(); $upcs = trim($upcs, "\n"); $upcs = html_entity_decode($upcs); $upcs = str_replace("\r", '', $upcs); $upcs_arr = explode("\n", $upcs); $orClause = array(); if (count($upcs_arr)) { foreach ($upcs_arr as $v) { $v = str_pad($v, 12, 0, STR_PAD_LEFT); if (checkUPC($v)) { $orClause[] = 'eqd.upc = ?'; $dataParams[] = $v; } } if (count($orClause)) { $whereClause .= ' AND ( ' .implode(' OR ', $orClause) . ')'; } else { $whereClause .= ' AND 1=0 '; } $search_criteria[$criteria_counter]["name"] = "upcs[]"; $search_criteria[$criteria_counter]["value"] = implode(',', $upcs_arr); $criteria_counter++; } } if ($hd_dd_dms) { $whereClause .= ' AND eqd.dms_master_master_id IN ( ' . implode(',', array_fill(0, count($hd_dd_dms), '?')) . ')'; foreach ($hd_dd_dms as $key => $val) { $dataParams[] = $val; } $search_criteria[$criteria_counter]["name"] = "hd_dd_dms[]"; $search_criteria[$criteria_counter]["value"] = implode(',', $hd_dd_dms); $criteria_counter++; } if ($from_encoding_started && !empty(strtotime($from_encoding_started))) { $whereClause .= ' AND date(eqd.encoding_started) >= ?'; $dataParams[] = $from_encoding_started; $search_criteria[$criteria_counter]["name"] = "from_encoding_started"; $search_criteria[$criteria_counter]["value"] = $from_encoding_started; $criteria_counter++; } if ($to_encoding_started && !empty(strtotime($to_encoding_started))) { $whereClause .= ' AND date(eqd.encoding_started) <= ?'; $dataParams[] = $to_encoding_started; $search_criteria[$criteria_counter]["name"] = "to_encoding_started"; $search_criteria[$criteria_counter]["value"] = $to_encoding_started; $criteria_counter++; } if ($from_encoding_ended && !empty(strtotime($from_encoding_ended))) { $whereClause .= ' AND date(eqd.encoding_ended) >= ?'; $dataParams[] = $from_encoding_ended; $search_criteria[$criteria_counter]["name"] = "from_encoding_ended"; $search_criteria[$criteria_counter]["value"] = $from_encoding_ended; $criteria_counter++; } if ($to_encoding_ended && !empty(strtotime($to_encoding_ended))) { $whereClause .= ' AND date(eqd.encoding_ended) <= ?'; $dataParams[] = $to_encoding_ended; $search_criteria[$criteria_counter]["name"] = "to_encoding_ended"; $search_criteria[$criteria_counter]["value"] = $to_encoding_ended; $criteria_counter++; } if ($from_delivery_started && !empty(strtotime($from_delivery_started))) { $whereClause .= ' AND date(eqd.delivery_started) >= ?'; $dataParams[] = $from_delivery_started; $search_criteria[$criteria_counter]["name"] = "from_delivery_started"; $search_criteria[$criteria_counter]["value"] = $from_delivery_started; $criteria_counter++; } if ($to_delivery_started && !empty(strtotime($to_delivery_started))) { $whereClause .= ' AND date(eqd.delivery_started) <= ?'; $dataParams[] = $to_delivery_started; $search_criteria[$criteria_counter]["name"] = "to_delivery_started"; $search_criteria[$criteria_counter]["value"] = $to_delivery_started; $criteria_counter++; } if ($from_delivery_ended && !empty(strtotime($from_delivery_ended))) { $whereClause .= ' AND date(eqd.delivery_ended) >= ?'; $dataParams[] = $from_delivery_ended; $search_criteria[$criteria_counter]["name"] = "from_delivery_ended"; $search_criteria[$criteria_counter]["value"] = $from_delivery_ended; $criteria_counter++; } if ($to_delivery_ended && !empty(strtotime($to_delivery_ended))) { $whereClause .= ' AND date(eqd.delivery_ended) <= ?'; $dataParams[] = $to_delivery_ended; $search_criteria[$criteria_counter]["name"] = "to_delivery_ended"; $search_criteria[$criteria_counter]["value"] = $to_delivery_ended; $criteria_counter++; } if (is_array($error_types) and count($error_types)) { $status_list = array(); $tmpWhereClause = ''; foreach ($error_types as $error_type) { if ($error_type == 'encoding_stuck') { $tmpWhereClause .= ' OR ( eqd.status = "encoding" AND eqd.encoding_started < NOW() - INTERVAL 2 HOUR)'; } elseif ($error_type == 'delivering_stuck') { $tmpWhereClause .= ' OR ( eqd.status = "delivering" AND eqd.delivery_started < NOW() - INTERVAL 2 HOUR)'; } else { $status_list[] = $error_type; } } $status_list = array_unique($status_list); $whereClause .= ' AND (0'; if (count($status_list) > 0) { $whereClause .= ' OR (eqd.status IN (' . implode(',', array_fill(0, count($status_list), '?')) . '))'; foreach ($status_list as $key => $val) { $dataParams[] = $val; } } if ($tmpWhereClause != '') { $whereClause .= $tmpWhereClause; } $whereClause .= ')'; $search_criteria[$criteria_counter]["name"] = "error_types[]"; $search_criteria[$criteria_counter]["value"] = implode(',', $error_types); $criteria_counter++; } if (isset($mkt_priority) && !empty($mkt_priority)) { if (in_array($mkt_priority, array('a','b'))) { //get upcs for given priority: $mkt_q = 'SELECT upc FROM mkt_priority WHERE priority = ? GROUP BY upc'; $stmt = $artDb->getMysqlConnection()->prepare($mkt_q); if (!$stmt->execute([$mkt_priority])) { show_pdo_error($mkt_q, $stmt); } $mkt_upcs= array(); foreach ($stmt->fetchAll() as $mkt_row) { $mkt_upcs[] = $mkt_row['upc']; } if (count($mkt_upcs)> 0) { $whereClause .= ' AND eqd.upc IN (' . implode(',', array_fill(0, count($mkt_upcs), '?')) . ')'; foreach ($mkt_upcs as $key => $val) { $dataParams[] = $val; } } } else { //get upcs for given priority: $mkt_q = "SELECT priority, upc FROM mkt_priority GROUP BY upc"; $stmt = $artDb->getMysqlConnection()->prepare($mkt_q); if (!$stmt->execute()) { show_pdo_error($mkt_q, $stmt); } $mkt_upcs= array(); foreach ($stmt->fetchAll() as $mkt_row) { $mkt_upcs[] = $mkt_row['upc']; } if (count($mkt_upcs)> 0) { $whereClause .= ' AND eqd.upc NOT IN (' . implode(',', array_fill(0, count($mkt_upcs), '?')) . ')'; foreach ($mkt_upcs as $key => $val) { $dataParams[] = $val; } } } $search_criteria[$criteria_counter]["name"] = "mkt_priority"; $search_criteria[$criteria_counter]["value"] = $mkt_priority; $criteria_counter++; } if (isset($meta_update) && trim($meta_update) != '') { $whereClause .= ' AND eq.meta_update = ?'; $dataParams[] = $meta_update; $search_criteria[$criteria_counter]["name"] = "meta_update"; $search_criteria[$criteria_counter]["value"] = $meta_update; $criteria_counter++; } if ($delivery) { $whereClause .= ' AND dds.delivery IN (' . implode(',', array_fill(0, count($delivery), '?')) . ')'; foreach ($delivery as $key => $val) { $dataParams[] = $val; } $search_criteria[$criteria_counter]["name"] = "delivery[]"; $search_criteria[$criteria_counter]["value"] = implode(",", $delivery); $criteria_counter++; } if ($encoding) { $whereClause .= ' AND dds.encoding IN (' . implode(',',array_fill(0, count($encoding), '?')) . ')'; foreach ($encoding as $key => $val) { $dataParams[] = $val; } $search_criteria[$criteria_counter]["name"] = "encoding[]"; $search_criteria[$criteria_counter]["value"] = implode(",",$encoding); $criteria_counter++; } $_SESSION["S_SEARCH_CRITERIA"] = serialize($search_criteria); $whereClause = '1 '.$whereClause; } $sql = 'SELECT SQL_CALC_FOUND_ROWS eq.encoding_queue_id, eqd.encoding_queue_detail_id, cmm.customer_name as dms, eq.encoding_order_id, eq.priority, eqd.dms_master_master_id, eqd.upc, eqd.status, TIMEDIFF(eqd.encoding_ended, eqd.encoding_started) AS encoding_time, eqd.encoding_started, eqd.encoding_ended, TIMEDIFF(eqd.delivery_ended, eqd.delivery_started) AS delivery_time, eqd.delivery_started, eqd.delivery_ended, eqd.error_log, eqd.encoding_server, eqd.delivery_server,eqd.last_updated, pp.pid, db.remote_folder FROM `direct_delivery`.encoding_queue eq INNER JOIN `direct_delivery`.encoding_queue_detail eqd ON eq.encoding_queue_id = eqd.encoding_queue_id INNER JOIN `direct_delivery`.customer_master_master cmm ON cmm.customer_master_master_id = eqd.dms_master_master_id LEFT JOIN `direct_delivery`.delivery_batch_detail dbd ON dbd.encoding_queue_detail_id = eqd.encoding_queue_detail_id LEFT JOIN `direct_delivery`.delivery_batch db ON db.delivery_batch_id = dbd.delivery_batch_id LEFT JOIN `direct_delivery`.dms_delivery_spec dds ON cmm.customer_master_master_id = dds.dms_master_master_id AND dds.order_type = eq.encoding_order_type LEFT JOIN `direct_delivery`.process_pid pp ON pp.encoding_queue_detail_id = eqd.encoding_queue_detail_id WHERE '.$whereClause.' AND eq.encoding_order_type != "ringtone"'; if($order == 'hd') $sql .= " AND eq.encoder_id = 4 "; elseif($order == 'dd') $sql .= " AND eq.encoder_id <> 4 "; switch ($sort_by) { case 'upc': $order_by = 'eqd.upc'; break; case 'encoding_order_id': $order_by = 'eq.encoding_order_id'; break; case 'status': $order_by = 'eqd.status'; break; case 'encoding_started': $order_by = 'eqd.encoding_started'; break; case 'encoding_ended': $order_by = 'eqd.encoding_ended'; break; case 'encoding_time': $order_by = 'encoding_time'; break; case 'delivery_started': $order_by = 'eqd.delivery_started'; break; case 'delivery_ended': $order_by = 'eqd.delivery_ended'; break; case 'delivery_time': $order_by = 'delivery_time'; break; case 'encoding_server': $order_by = 'eqd.encoding_server'; break; case 'delivery_server': $order_by = 'eqd.delivery_server'; break; case 'dms': $order_by = 'dms'; break; default: if($type=="complete") { $order_by = 'eqd.delivery_ended'; $sort_by = 'delivery_ended'; } else { $order_by = 'eqd.encoding_started'; $sort_by = 'encoding_started'; } } $sql .= ' ORDER BY ' . $order_by . ($sort_desc ? ' DESC' : ''); /** if no track checking, then paginate and create LIMIT on the SQL */ if (!$track_check) { /** Add Limit in for pagination */ if (!$no_url) { $sql .= ' LIMIT ' . ($page - 1) * $pageRecord . ', ' . $pageRecord; } } $stmt = $ddDb->getMysqlConnection()->prepare($sql); if (!$stmt->execute($dataParams)) { show_pdo_error($sql, $stmt); } $eqd_detail_result = $stmt->fetchAll(); if (!$no_url) { /** Get total rows as if the limit was removed using FOUND_ROWS() */ $sql_count = 'SELECT FOUND_ROWS() AS total'; $stmt = $ddDb->getMysqlConnection()->prepare($sql_count); if (!$stmt->execute()) { show_pdo_error($sql_count, $stmt); } $total_count_row = $stmt->fetch(); $total = $total_count_row['total']; } else { $total = count($eqd_detail_result); } $varTable = '
| '; } $varTable .= ' | ' . ($no_url ? 'UPC' : sortColumnHeader('UPC', 'upc', $url)) . ' | ' . ($no_url ? 'Encoding Order Id' : sortColumnHeader('Encoding Order Id', 'encoding_order_id', $url)).' | ' . ($no_url ? 'DMS' : sortColumnHeader('DMS', 'dms', $url)).' | ' . ($no_url ? 'Status' : sortColumnHeader('Status', 'status', $url)) . ' | Batch Folder | Marketing Priority | ' . ($no_url ? 'Encoding Server' : sortColumnHeader('Encoding Server', 'encoding_server', $url)) . ' | ' . ($no_url ? 'Encoding Started' : sortColumnHeader('Encoding Started', 'encoding_started', $url)) . ' | ' . ($no_url ? 'Encoding Ended' : sortColumnHeader('Encoding Ended', 'encoding_ended', $url)) . ' | ' . ($no_url ? 'Encoding Time' : sortColumnHeader('Encoding Time', 'encoding_time', $url)) . ' | ' . ($no_url ? 'Delivery Server' : sortColumnHeader('Delivery Server', 'delivery_server', $url)) . ' | ' . ($no_url ? 'Delivery Started' : sortColumnHeader('Delivery Started', 'delivery_started', $url)) . ' | ' . ($no_url ? 'Delivery Ended' : sortColumnHeader('Delivery Ended', 'delivery_ended', $url)) . ' | ' . ($no_url ? 'Delivery Time' : sortColumnHeader('Delivery Time', 'delivery_time', $url)) . ' | ' . ($type != 'complete' ? 'Error Log | ' : '') . '||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| '; if ($show_checkbox) { $varTable .= ''; } $varTable .= ' | '; } $varTable.='' . ($no_url ? $eqd_detail_row['upc'] : '' . $eqd_detail_row['upc'] . '') . (in_array($eqd_detail_row['status'],array('encoding','delivering'))?' (PID: '.$eqd_detail_row['pid'].')':'').' |
' . $eqd_detail_row['encoding_order_id'] . ' | ' . $eqd_detail_row['dms'] . ' | ' . ucwords(str_replace('_', ' ', $eqd_detail_row['status'])) . ' | ' . $eqd_detail_row['remote_folder'] . ' | '; if(count($upcsArray) > 0) { if(isset($mkt_priority_arr[$eqd_detail_row['upc']]) && $mkt_priority_arr[$eqd_detail_row['upc']] != '') { $varTable.='Yes | '; } else { $varTable.='No | '; } } else { $varTable.='No | '; } $varTable.='' . $eqd_detail_row['encoding_server'] . ' | ' . format_date($eqd_detail_row['encoding_started'], true) . ' | ' . format_date($eqd_detail_row['encoding_ended'], true) . ' | ' . $eqd_detail_row['encoding_time'] . ' | ' . $eqd_detail_row['delivery_server'] . ' | ' . format_date($eqd_detail_row['delivery_started'], true) . ' | ' . format_date($eqd_detail_row['delivery_ended'], true) . ' | ' . $eqd_detail_row['delivery_time'] . ' | ' . ($type != 'complete' ? '' . ($no_url ? $error_log : ''.($error_log ? substr($error_log,0,100).'...' : '').'') .' | ' : '') . '
| No records found. | |||||||||||||||||