class list_job_summary_cost_plus
{
public $status;
public $order;
public $method;
public $group_id;
public $avail_status;
public $avail_edit;
public $link_view;
public $link_edit;
public $job_id;
public $db_name;
public $account_id;
public function __construct($context)
{
$this->avail_status = $context['avail_status'];
$this->avail_edit = $context['avail_edit'];
$this->link_view = $context['link_view'];
$this->link_edit = $context['link_edit'];
$this->status = $context['status'];
$this->job_id = $context['id'];
$this->order = (empty($context['order'])) ? "ASC" : $context['order'];
$this->method = (empty($context['method'])) ? "id" : $context['method'];
}
public function get_data()
{
global $database;
$db_name = $this->db_name;
$status = $this->status;
$job_id = $this->job_id;
$sql = "
SELECT *
FROM job_trackings
WHERE job_id = '$job_id'
";
$results = $database->getAll($sql);
$departments = common_production_department::get_all_active_departments();
foreach($departments AS $department)
{
$id = $department['id'];
$check_status = "
SELECT count(id)
FROM job_trackings_completed
WHERE job_id = '$job_id' AND department_id = '$id'
";
$completed = $database->getOne($check_status);
$department['status'] = ($completed == 0) ? "" : '';
$get_tracking = "
SELECT start_time,end_time
FROM job_trackings
WHERE job_id = '$job_id' AND department = '$id'
";
$trackings = $database->getAll($get_tracking);
$department['actuals'] = 0;
if(count($trackings) > 0)
{
foreach($trackings AS $tracking)
{
if($tracking['end_time'] == '0000-00-00 00:00:00')
$tracking['end_time'] = date('Y-m-d G:i:s');
$department['actuals'] += dates::total_time($tracking['start_time'],$tracking['end_time']);
}
}
else
{
$department['actuals'] = 0;
}
$return_results[] = $department;
}
$this->final_results = $return_results;
return $this;
}
public function show()
{
global $database;
$order = $this->order;
$method = $this->method;
$results = $this->final_results;
$avail_status = $this->avail_status;
$avail_edit = $this->avail_edit;
$link_view = $this->link_view;
$link_edit = $this->link_edit;
$normalised_results = filter::sort_results($method,$order,$results);
$normalise_get = filter::normalise_get($order);
$pagination_results = filter::pagination($normalised_results,$normalise_get);
filter::pagination_html($pagination_results);
$pagination = $pagination_results['pagination'];
$start = $pagination_results['start'];
$size = $pagination_results['size'];
$total_results = $pagination_results['total_results'];
$max_size = $pagination_results['max_size'];
$order = ($order == "ASC") ? "DESC" : "ASC";
$normalise_get = filter::normalise_get($order);
$new_normalised_results = array();
foreach($normalised_results AS $key => $value)
$new_normalised_results[] = $key;
?>
Department | Actual | Status | $count = 0; $total_actuals = 0; if(count($results) > 0) { for($i = $start; $i < $max_size; $i++) { $key = $new_normalised_results[$i]; $mod = $count%2; $class = ($mod == 0) ? "odd" : "even"; $count++; $total_actuals += $results[$key]['actuals']; ?>
---|---|---|
} if($avail_edit) { ?> | ![]() |
}
?>