public function consumption_data_dashboard($commodity_id = null, $district_id = null, $facility_code = null, $option = null, $from = null, $to = null, $graph_type = null, $tracer = null) { //reset the values here switch ($option) { case 'ksh': $axis = "Ksh"; break; case 'units': $axis = "Units"; break; case 'packs': $axis = "Packs"; break; default: $axis = "packs"; break; } $commodity_id = $commodity_id == "NULL" ? null : $commodity_id; $district_id = isset($district_id) && $district_id > 0 ? $district_id : $this->session->userdata('district_id'); $county_id = isset($county_id) && $county_id > 0 ? $county_id : $this->session->userdata('county_id'); $facility_code = $facility_code == "NULL" ? null : $facility_code; $report_type = $graph_type == "NULL" ? null : $graph_type; //echo $district_id;exit; $from = $from == "NULL" ? strtotime(date('Y-m-01')) : strtotime(urldecode($from)); $to = $to == "NULL" ? strtotime(date('Y-m-d')) : strtotime(urldecode($to)); $county_name = counties::get_county_name($county_id); //start building the notifications dashboaard first //compute stocked out items $items_stocked_out_in_facility = count(facility_stocks::get_items_that_have_stock_out_in_facility($facility_code, $district_id, $county_id)); //get order information from the db $facility_order_count_ = facility_orders::get_facility_order_summary_count($facility_code, $district_id, $county_id); $facility_order_count = array(); foreach ($facility_order_count_ as $facility_order_count_) { $facility_order_count[$facility_order_count_['status']] = $facility_order_count_['total']; } //get potential expiries infor here $potential_expiries = count(Facility_stocks::getpotentialexpcount($county_id, $district_id)); //get actual Expiries infor here $actual_expiries = count(Facility_stocks::getexpcount($county_id, $district_id)); //get items they have been donated for $facility_donations = count(redistribution_data::get_redistribution_data($facility_code, $district_id, $county_id, date('Y'))); $identifier = $this->session->userdata('user_indicator'); //get the roll out status here $facility_roll_out_status = Facilities::get_tragetted_rolled_out_facilities($facility_code, $district_id, $county_id, $identifier); $category_data = $series_data = $graph_data = $series_data_ = $amc = array(); //check if the district is set $district_data = isset($district_id) && $district_id > 0 ? districts::get_district_name($district_id)->toArray() : null; $district_name_ = isset($district_data) ? " :" . $district_data[0]['district'] . " subcounty" : null; //$option = "packs"; $facility_code_ = isset($facility_code) ? facilities::get_facility_name_($facility_code)->toArray() : null; $facility_name = $facility_code_[0]['facility_name']; $commodity_name = isset($commodity_id) ? Commodities::get_details($commodity_id)->toArray() : null; $category_name_ = @$commodity_name[0]['commodity_name']; $commodity_name = isset($category_name_) ? " for " . $category_name_ : null; $title = isset($facility_code) && isset($district_id) ? "{$district_name_} : {$facility_name}" : ($district_id > 0 && !isset($facility_code) ? "{$district_name_}" : "{$county_name['county']} county"); $time = "between " . date('j M y', $from) . " and " . date('j M y', $to); $consumption_data = Facility_stocks::get_county_consumption_level_new($facility_code, $district_id, $county_id, $category_id, $commodity_id, $option, $from, $to, $report_type, $tracer); //echo $consumption_data;exit;//seth foreach ($consumption_data as $data) { if ($report_type == "table_data") { if ($commodity_id > 0) { array_push($series_data, array($data['district'], $data["facility_name"], $data["facility_code"], $data['commodity'], (int) $data['total'])); } else { array_push($series_data, array($data["name"], $data['commodity'], (int) $data['total'])); } } elseif ($tracer == 1) { $series_data = array_merge($series_data, array((int) $data['total'])); $series_data_ = array_merge($series_data_, array(array($data["commodity"], (int) $data['total']))); $category_data = array_merge($category_data, array($data["commodity"])); } else { $series_data = array_merge($series_data, array((int) $data['total'])); $series_data_ = array_merge($series_data_, array(array($data["name"], (int) $data['total']))); $category_data = array_merge($category_data, array($data["name"])); } } $default_consumption_graph_ = array(); $graph_type = 'bar'; $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_id" => 'graph_content_')); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_title" => "Consumption level {$commodity_name} {$title} {$time}")); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_type" => $graph_type)); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_yaxis_title" => "{$axis}")); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_categories" => $category_data)); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("series_data" => array('Consumption' => $series_data))); $check_count = count($series_data); $data = array(); $data = array(); if ($check_count <= 0) { $def_cons = ' $("#graph_content_").html("<b>You have no Records, for this period please try using the filters</b>!"); $("#graph_content_").removeAttr( "style" ); $("#graph_content_").css({"height": "200px", "font-size": "200%","font-align": "center","margin-top": "4%"}); '; } else { $def_cons = $this->hcmp_functions->create_high_chart_graph($default_consumption_graph_); } $data['default_consumption_graph'] = $def_cons; $county_id = $this->session->userdata('county_id'); $data['district_data'] = districts::getDistrict($county_id); $data['c_data'] = Commodities::get_all_2(); $data['tracer_items'] = Commodities::get_tracer_items(); $data['categories'] = commodity_sub_category::get_all_pharm(); $data['county_dashboard_notifications'] = array('items_stocked_out_in_facility' => $items_stocked_out_in_facility, 'facility_order_count' => $facility_order_count, 'potential_expiries' => $potential_expiries, 'actual_expiries' => $actual_expiries, 'facility_donations' => $facility_donations, 'facility_roll_out_status' => $facility_roll_out_status); //echo "<pre>";print_r($data['county_dashboard_notifications']); exit; return $this->load->view("subcounty/ajax/county_consumption_data_filter_v", $data); }
public function generate_county_filter() { $county_id = $this->session->userdata('county_id'); $data['district_data'] = districts::getDistrict($county_id); $data['c_data'] = Commodities::get_all_2(); $data['tracer_items'] = Commodities::get_tracer_items(); $data['categories'] = commodity_sub_category::get_all_pharm(); return $this->load->view("subcounty/ajax/new_county_consumption_data_filter_v", $data); }
public function consumption_data_dashboard() { $from = strtotime(date('d-m-y')); $to = strtotime(date('d-m-y')); // $category_id=($category_id=="NULL") ? null :$category_id; $county_id = $this->session->userdata('county_id'); $district_id = $this->session->userdata('district_id'); $facility_code = $this->session->userdata('facility_id'); $county_name = counties::get_county_name($county_id); $category_data = $series_data = $graph_data = $series_data_ = array(); //check if the district is set $district_data = isset($district_id) && $district_id > 0 ? districts::get_district_name($district_id)->toArray() : null; $district_name_ = isset($district_data) ? " :" . $district_data[0]['district'] . " subcounty" : null; $option_new = isset($option) ? $option : "ksh"; // $facility_code_ = isset($facility_code) ? facilities::get_facility_name_($facility_code) -> toArray() : null; // $facility_name=$facility_code_[0]['facility_name']; $commodity_name = isset($commodity_id) ? Commodities::get_details($commodity_id)->toArray() : null; $category_name_ = @$commodity_name[0]['commodity_name']; $commodity_name = isset($category_name_) ? " for " . $category_name_ : null; $title = isset($facility_code) && isset($district_id) ? "{$district_name_} : {$facility_name}" : ($district_id > 0 && !isset($facility_code) ? "{$district_name_}" : "{$county_name['county']} county"); $time = "between " . date('j M y', $from) . " and " . date('j M y', $to); $consumption_data = Facility_stocks::get_county_consumption_level_new($facility_code, $district_id, $county_id, $category_id, $commodity_id, $option, $from, $to, $report_type); $default_consumption_graph_ = array(); $graph_type = 'column'; $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_id" => 'graph_content_')); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_title" => "Consumption level {$commodity_name} {$title} {$time}")); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_type" => $graph_type)); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_yaxis_title" => "Commodity Consumption level in {$option_new}")); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("graph_categories" => $category_data)); $default_consumption_graph_ = array_merge($default_consumption_graph_, array("series_data" => array('total' => $series_data))); $data = array(); $def_cons = $this->hcmp_functions->create_high_chart_graph($default_consumption_graph_); $data['default_consumption_graph'] = $def_cons; $county_id = $this->session->userdata('county_id'); $data['district_data'] = districts::getDistrict($county_id); $data['c_data'] = Commodities::get_all_2(); $data['tracer_items'] = Commodities::get_tracer_items(); $data['categories'] = commodity_sub_category::get_all_pharm(); return $this->load->view("subcounty/ajax/county_consumption_data_filter_v", $data); }