public function view_list() { $regions = Regions::getAllRegions(); $data['regions'] = $regions; $data['title'] = "Region Management::All The Regions"; $data['module_view'] = "view_regions_view"; $this -> base_params($data); }
public function dashboard($dashboard = "country_stock_view") { $year = date('Y'); $data['title'] = "Home Page::Dashboards"; $data['content_view'] = "home_view"; $data['vaccines'] = Vaccines::getAll(); $data['styles'] = array("jquery-ui.css", "tab.css"); $data['script_urls'] = array("http://maps.google.com/maps/api/js?sensor=false"); $data['scripts'] = array("FusionCharts/FusionCharts.js", "markerclusterer/src/markerclusterer.js", "markerclusterer/src/jsapi.js", "jquery-ui.js", "tab.js"); $data['dashboard'] = $dashboard; $from = date('U'); $national_balances = array(); $regional_balances = array(); $regional_stores = Regions::getAllRegions(); //Get Statistics for each of the vaccines. foreach ($data['vaccines'] as $vaccine) { $national_balances[$vaccine->id] = array(Disbursements::getNationalPeriodBalance($vaccine->id, $from), Regional_Populations::getNationalPopulation(date('Y'))); foreach ($regional_stores as $regional_store) { $regional_balances[$vaccine->id][$regional_store->id] = array(Disbursements::getRegionalPeriodBalance($regional_store->id, $vaccine->id, $from), Regional_Populations::getRegionalPopulation($regional_store->id, date('Y'))); } } $data['national_stocks'] = $national_balances; $data['regional_stocks'] = $regional_balances; $data['regional_stores'] = $regional_stores; $data['link'] = "home"; $this->load->view('template', $data); }
public function index() { $final_html = ""; $css = "<style type='text/css'>\n\t\ttd{\n\t\t\tborder:1px solid black; \n\t\t}\n\t\t.no_border{\n\t\t\tborder: none;\n\t\t} \n\t\t.regionals td{\n\t\t\tmin-width:110px;\n\t\t}\n\t\tth, .title{\n\t\t\tbackground:#DDD;\n\t\t\tborder:none;\n\t\t\tpadding:0;\n\t\t\tmargin:0;\n\t\t}\n\t\t\n\t\t</style>"; $final_html .= $css; $html_title = "<img src='Images/coat_of_arms.png' style='position:absolute; width:160px; top:0px; right:0px; margin-bottom:-100px;margin-right:-100px;'></img>"; $html_title .= "<h2 style='text-align:center; text-decoration:underline;'>Republic of Kenya</h2>"; $html_title .= "<h3 style='text-align:center; text-decoration:underline;'>Ministry of Public Health and Sanitation</h3>"; $html_title .= "<h1 style='text-align:center; text-decoration:underline;'>MONTHLY VACCINE STOCK MANAGEMENT REPORT</h1>"; //echo "$html_title"; $final_html .= $html_title; $final_html .= $this->create_national_report(); $this->load->library('mpdf'); $mpdf = new mPDF('', 'A4-L', 0, '', 15, 15, 16, 16, 9, 9, ''); $mpdf->SetTitle('MONTHLY VACCINE STOCK MANAGEMENT REPORT'); $mpdf->WriteHTML($final_html); $regions = Regions::getAllRegions(); foreach ($regions as $region) { $regional_report = $this->create_regional_reports($region); $mpdf->AddPage(); $mpdf->WriteHTML($regional_report); // } //echo $final_html $mpdf->Output('Summaries/Monthly_Summary.pdf', 'F'); $this->email_reports(); }
public function plot($vaccine) { // Initiate class $xml = new MY_Xml_writer(); $xml->setRootName('markers'); $xml->initiate(); $year = date('U'); $mapped_districts = Districts::getMappedDistricts(); $mapped_regions = Regions::getAllRegions(); foreach ($mapped_districts as $mapped_district) { //$stock = Disbursements::getDistrictStockAtHand($mapped_district->id,$vaccine); $stock = Disbursements::getDistrictPeriodBalance($mapped_district->id, $vaccine, $year); $xml->startBranch('marker', array('name' => $mapped_district->name . " District Store", 'lat' => $mapped_district->latitude, 'lng' => $mapped_district->longitude, 'facility_id' => $mapped_district->id, 'stock' => $stock)); // start branch 1-1 $xml->endBranch(); } foreach ($mapped_regions as $mapped_region) { // $stock = Disbursements::getRegionalStockAtHand($mapped_region->id,$vaccine); $stock = Disbursements::getRegionalPeriodBalance($mapped_region->id, $vaccine, $year); $xml->startBranch('marker', array('name' => $mapped_region->name, 'lat' => $mapped_region->latitude, 'lng' => $mapped_region->longitude, 'facility_id' => $mapped_region->id, 'stock' => $stock)); // start branch 1-1 $xml->endBranch(); } //$stock = Disbursements::getNationalStockAtHand($vaccine); $stock = Disbursements::getNationalPeriodBalance($vaccine, $year); $xml->startBranch('marker', array('name' => "Central Vaccine Store", 'lat' => "-1.304507", 'lng' => "36.806191", 'facility_id' => 0, 'stock' => $stock)); // start branch 1-1 $xml->endBranch(); // Print the XML to screen $xml->getXml(true); }
public function edit_user($id) { $user = User::getUser($id); $data['user'] = $user; $data['title'] = "User Management::Edit " . $user -> Full_Name . "'s Details"; $data['title'] = "User Management::Add New User"; $data['module_view'] = "add_user_view"; $data['groups'] = User_Groups::getAllGroups(); $data['districts'] = Districts::getAllDistricts(); $data['regions'] = Regions::getAllRegions(); $this -> base_params($data); }
public function send_reports() { //Create the National report and save it! $national_data = $this -> create_national_report(); $name = 'Country_Vaccine_Status_Summary.xls'; $this -> write_file($name, $national_data); //Create the Regional Reports and Save them $regions = Regions::getAllRegions(); foreach ($regions as $region) { $region_data = $this -> create_regional_reports($region); $name = $region -> name . "_Vaccine_Status_Summary.xls"; $this -> write_file($name, $region_data); } //Email all the reports $this -> email_reports(); }
public static function getNationalPopulation($year) { $regions = Regions::getAllRegions(); $total_population = 0; foreach ($regions as $region) { $region_id = $region->id; $query = Doctrine_Query::create() -> select("population") -> from("regional_populations") -> where("region_id = '$region_id' and year='$year'"); $population_object = $query -> execute(array(), Doctrine::HYDRATE_ARRAY); if (isset($population_object[0])) { $total_population += str_replace(',', '', $population_object[0]['population']); } else { $query = Doctrine_Query::create() -> select("population") -> from("regional_populations") -> where("region_id = '$region_id'") -> OrderBy("id desc") -> limit(0); $population_object = $query -> execute(array(), Doctrine::HYDRATE_ARRAY); if (isset($population_object[0])) { $total_population += str_replace(',', '', $population_object[0]['population']); } else { $total_population += 0; } } } return $total_population; }
public function view_ledger($type, $id, $paged_vaccine = null, $date_from = null, $date_to = null, $offset = 0, $default_offset = 0) { $data['type'] = $type; //get current district/region $district_or_province = $this -> session -> userdata('district_province_id'); //get current level $identifier = $this -> session -> userdata('user_identifier'); $dummy_identifier = ""; //Determine if the user is trying to view the ledger for his/her own store //Type 0 means we are drilling down to a region if ($type == 0) { if ($identifier == "provincial_officer" && $district_or_province == $id) { redirect("disbursement_management/view_disbursements"); } $dummy_identifier = "provincial_officer"; } //Type 1 means we are drilling down to a district else if ($type == 1) { if ($identifier == "district_officer" && $district_or_province == $id) { redirect("disbursement_management/view_disbursements"); } $dummy_identifier = "district_officer"; } //Type 2 means we are drilling down to the whole country else if ($type == 2) { if ($identifier == "national_officer") { redirect("disbursement_management/view_disbursements"); } $dummy_identifier = "national_officer"; } $data['identifier'] = $dummy_identifier; $data['district_or_province'] = $id; $district_or_province = $id; //Now display the 'foreign' ledger $to = $this -> input -> post('to'); $from = $this -> input -> post('from'); $store = $this -> input -> post('selected_store_id'); $order_by = $this -> input -> post('order_by'); $order = $this -> input -> post('order'); $per_page = $this -> input -> post('per_page'); if ($to == false) { $to = date("U", mktime(0, 0, 0, 1, 1, date("Y") + 1)); } else if ($to == true) { $to = strtotime($to); } if ($from == false) { $from = date("U", mktime(0, 0, 0, 1, 1, date('Y'))); } else if ($from == true) { $from = strtotime($from); } if ($date_from != null) { $from = $date_from; } else if ($date_to != null) { $to = $date_to; } //Check if the user has specified how many items he/she wants per page. If not, default to 10 items per page. if ($per_page > 0) { $this -> session -> set_userdata(array("external_from" => $from, "external_to" => $to, "external_per_page" => $per_page, "external_order_by" => $order_by, "external_order" => $order)); } else { $temp = $this -> session -> userdata('external_per_page'); if ($temp == false) { $this -> session -> set_userdata(array("external_from" => $from, "external_to" => $to, "external_per_page" => 10, "external_order_by" => "Date_Issued_Timestamp", "external_order" => "DESC")); } } $items_per_page = $this -> session -> userdata('external_per_page'); $order_by = $this -> session -> userdata('external_order_by'); $order = $this -> session -> userdata('external_order'); $region = 0; $district = 0; if ($store != null) { $split_parts = explode("_", $store); $type = $split_parts[0]; $id = $split_parts[1]; if ($type == "district") { $district = $id; $this -> session -> set_userdata(array("external_region" => "")); $this -> session -> set_userdata(array("external_district" => $district)); } else if ($type == "region") { $region = $id; $this -> session -> set_userdata(array("external_district" => "")); $this -> session -> set_userdata(array("external_region" => $region)); } else if ($type == "national") { $this -> session -> set_userdata(array("external_district" => "")); $this -> session -> set_userdata(array("external_region" => "")); } } $district = $this -> session -> userdata('external_district'); $region = $this -> session -> userdata('external_region'); $data['vaccines'] = Vaccines::getAll_Minified(); $return_array = array(); $balances = array(); if ($type == 2) {//National Level $recipient = "Central Vaccines Store"; foreach ($data['vaccines'] as $vaccine) { //skip the vaccine that is currently being browsed through if ($vaccine -> id == $paged_vaccine) { continue; } $total_disbursements = Disbursements::getTotalNationalDisbursements($vaccine -> id, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "external_ledger_management/view_ledger/" . $type . "/" . $id . "/" . $vaccine -> id . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 9; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$vaccine -> id] = $this -> pagination -> create_links(); } if ($order == "ASC") { $balances[$vaccine -> id] = Disbursements::getNationalPeriodBalance($vaccine -> id, $from); } else if ($order == "DESC") { $balances[$vaccine -> id] = Disbursements::getNationalPeriodBalance($vaccine -> id, $to); } $return_array[$vaccine -> id] = Disbursements::getNationalDisbursements($vaccine -> id, $from, $to, $default_offset, $items_per_page, $district, $region, $order_by, $order, $balances[$vaccine -> id]); } if ($paged_vaccine != null) { $data['paged_vaccine'] = $paged_vaccine; $total_disbursements = Disbursements::getTotalNationalDisbursements($paged_vaccine, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "external_ledger_management/view_ledger/" . $type . "/" . $id . "/" . $paged_vaccine . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 8; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$paged_vaccine] = $this -> pagination -> create_links(); } if ($order == "ASC") { $balances[$paged_vaccine] = Disbursements::getNationalPeriodBalance($paged_vaccine, $from); } else if ($order == "DESC") { $balances[$paged_vaccine] = Disbursements::getNationalPeriodBalance($paged_vaccine, $to); } $return_array[$paged_vaccine] = Disbursements::getNationalDisbursements($paged_vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balances[$paged_vaccine]); } } else if ($type == 0) {//Regional Store Level $recipient = Regions::getRegionName($district_or_province); foreach ($data['vaccines'] as $vaccine) { if ($vaccine -> id == $paged_vaccine) { continue; } $total_disbursements = Disbursements::getTotalRegionalDisbursements($district_or_province, $vaccine -> id, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "external_ledger_management/view_ledger/" . $type . "/" . $id . "/" . $vaccine -> id . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 9; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$vaccine -> id] = $this -> pagination -> create_links(); } if ($order == "ASC") { $balances[$vaccine -> id] = Disbursements::getRegionalPeriodBalance($district_or_province, $vaccine -> id, $from); } else if ($order == "DESC") { $balances[$vaccine -> id] = Disbursements::getRegionalPeriodBalance($district_or_province, $vaccine -> id, $to); } $return_array[$vaccine -> id] = Disbursements::getRegionalDisbursements($district_or_province, $vaccine -> id, $from, $to, $default_offset, $items_per_page, $district, $region, $order_by, $order, $balances[$vaccine -> id]); } if ($paged_vaccine != null) { $data['paged_vaccine'] = $paged_vaccine; $total_disbursements = Disbursements::getTotalRegionalDisbursements($district_or_province, $paged_vaccine, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "external_ledger_management/view_ledger/" . $type . "/" . $id . "/" . $paged_vaccine . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 8; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$paged_vaccine] = $this -> pagination -> create_links(); } if ($order == "ASC") { $balances[$paged_vaccine] = Disbursements::getRegionalPeriodBalance($district_or_province, $paged_vaccine, $from); } else if ($order == "DESC") { $balances[$paged_vaccine] = Disbursements::getRegionalPeriodBalance($district_or_province, $paged_vaccine, $to); } $return_array[$paged_vaccine] = Disbursements::getRegionalDisbursements($district_or_province, $paged_vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balances[$paged_vaccine]); } } else if ($type == 1) {//District Store Level $recipient = Districts::getDistrictName($district_or_province); foreach ($data['vaccines'] as $vaccine) { if ($vaccine -> id == $paged_vaccine) { continue; } $total_disbursements = Disbursements::getTotalDistrictDisbursements($district_or_province, $vaccine -> id, $from, $to, $district); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "external_ledger_management/view_ledger/" . $type . "/" . $id . "/" . $vaccine -> id . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 9; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$vaccine -> id] = $this -> pagination -> create_links(); } if ($order == "ASC") { $balances[$vaccine -> id] = Disbursements::getDistrictPeriodBalance($district_or_province, $vaccine -> id, $from); } else if ($order == "DESC") { $balances[$vaccine -> id] = Disbursements::getDistrictPeriodBalance($district_or_province, $vaccine -> id, $to); } $return_array[$vaccine -> id] = Disbursements::getDistrictDisbursements($district_or_province, $vaccine -> id, $from, $to, $default_offset, $items_per_page, $order_by, $order, $district, $balances[$vaccine -> id]); } if ($paged_vaccine != null) { $data['paged_vaccine'] = $paged_vaccine; $total_disbursements = Disbursements::getTotalDistrictDisbursements($district_or_province, $paged_vaccine, $from, $to, $district); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "external_ledger_management/view_ledger/" . $type . "/" . $id . "/" . $paged_vaccine . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 8; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$paged_vaccine] = $this -> pagination -> create_links(); } if ($order == "ASC") { $balances[$paged_vaccine] = Disbursements::getDistrictPeriodBalance($district_or_province, $paged_vaccine, $from); } else if ($order == "DESC") { $balances[$paged_vaccine] = Disbursements::getDistrictPeriodBalance($district_or_province, $paged_vaccine, $to); } $return_array[$paged_vaccine] = Disbursements::getDistrictDisbursements($district_or_province, $paged_vaccine, $from, $to, $offset, $items_per_page, $order_by, $order, $district, $balances[$paged_vaccine]); } } $data['title'] = $recipient . " Stock Ledger For The Period Between " . date('d/m/Y', $from) . " to " . date('d/m/Y', $to); $data['recipient'] = $recipient; $data['content_view'] = "view_external_ledger"; $data['disbursements'] = $return_array; //$data['balances'] = $balances; $data['stylesheets'] = array("pagination.css"); //Get all the districts and regions so as to enable drilling down to a particular store $data['districts'] = Districts::getAllDistricts(); $data['regions'] = Regions::getAllRegions(); $this -> base_params_min($data); }
public function view_report($report = "consumption") { $data['title'] = "System Reports"; $data['content_view'] = "reports_view"; if ($report == "consumption") { redirect("consumption_management"); } if ($report == "issues") { redirect("vaccine_issues_management"); } if ($report == "district_stock_outs") { redirect("district_stock_out"); } //Code for getting the Store summaries at the various vaccine store around the country if ($report == "store_summaries") { $data['quick_link'] = "store_summaries"; $regions = Regions::getAllRegions(); $vaccines = Vaccines::getAll_Minified(); $national_values = array(); $regional_values = array(); $this_month = date('m'); for ($month = 1; $month <= $this_month; $month++) { foreach ($vaccines as $vaccine) { $timestamp = date("U", mktime(0, 0, 0, $month, 1, date("Y"))); $national_balance = Disbursements::getNationalPeriodBalance($vaccine->id, $timestamp); $national_values[$month][$vaccine->id] = $national_balance; //Get the balance at that time foreach ($regions as $region) { $regional_balance = Disbursements::getRegionalPeriodBalance($region->id, $vaccine->id, $timestamp); $regional_values[$month][$region->id][$vaccine->id] = $regional_balance; //Get the Balance at that time } } } $data['national_values'] = $national_values; $data['regional_values'] = $regional_values; $data['regional_stores'] = $regions; } else { if ($report == "store_tallies") { $post = $this->input->post(); if ($post) { $login_level = $this->session->userdata('user_group'); $vaccines = Vaccines::getAll_Minified(); $from = strtotime($this->input->post('from')); $to = strtotime($this->input->post('to')); $this->session->set_userdata(array("store_tallies_from" => $from, "store_tallies_to" => $to)); $items = 20; $order_by = "Quantity"; $order = "DESC"; $offset = 0; $district_or_region_id = $this->session->userdata('district_province_id'); $tallies = null; if ($login_level == 1) { //National Level foreach ($vaccines as $vaccine) { $tallies[$vaccine->id] = Disbursements::getNationalRecipientTally($vaccine->id, $from, $to, $offset, $items, $order_by, $order); } } if ($login_level == 2) { //Regional Level foreach ($vaccines as $vaccine) { $tallies[$vaccine->id] = Disbursements::getRegionalRecipientTally($district_or_region_id, $vaccine->id, $from, $to, $offset, $items, $order_by, $order); } } $data['tallies'] = $tallies; } $data['quick_link'] = "store_tallies"; } else { if ($report == "vaccine_movement") { $post = $this->input->post(); if ($post) { $login_level = $this->session->userdata('user_group'); $vaccines = Vaccines::getAll_Minified(); $from = strtotime($this->input->post('from')); $to = strtotime($this->input->post('to')); $items = 20; $order_by = "Quantity"; $order = "DESC"; $offset = 0; $district_or_region_id = $this->session->userdata('district_province_id'); $received = null; $issued = null; $beginning_balance = null; $current_balance = null; if ($login_level == 1) { //National Level foreach ($vaccines as $vaccine) { $received[$vaccine->id] = Disbursements::getNationalReceiptsTotals($vaccine->id, $from, $to); $issued[$vaccine->id] = Disbursements::getNationalIssuesTotals($vaccine->id, $from, $to); $beginning_balance[$vaccine->id] = Disbursements::getNationalPeriodBalance($vaccine->id, $from); $current_balance[$vaccine->id] = Disbursements::getNationalPeriodBalance($vaccine->id, $to); } } if ($login_level == 2) { //Regional Level /*foreach($vaccines as $vaccine){ $tallies[$vaccine->id] = Disbursements::getRegionalRecipientTally($district_or_region_id,$vaccine->id,$from,$to,$offset,$items,$order_by,$order); }*/ } $data['received'] = $received; $data['issued'] = $issued; $data['beginning_balance'] = $beginning_balance; $data['current_balance'] = $current_balance; } $data['quick_link'] = "vaccine_movement"; } } } $data['report'] = $report; $this->base_params($data); }
public function view_disbursements($paged_vaccine = null, $date_from = null, $date_to = null, $offset = 0, $default_offset = 0) { $district_or_province = $this -> session -> userdata('district_province_id'); $this -> load -> helper('to_excel'); $to = $this -> input -> post('to'); $from = $this -> input -> post('from'); $store = $this -> input -> post('selected_store_id'); $order_by = $this -> input -> post('order_by'); $order = $this -> input -> post('order'); $per_page = $this -> input -> post('per_page'); if ($to == false) { $to = date("U", mktime(0, 0, 0, 1, 1, date("Y") + 1)); } else if ($to == true) { $to = strtotime($to); } if ($from == false) { $from = date("U", mktime(0, 0, 0, 1, 1, date('Y'))); } else if ($from == true) { $from = strtotime($from); } if ($date_from != null) { $from = $date_from; } else if ($date_to != null) { $to = $date_to; } //Check if the user has specified how many items he/she wants per page. If not, default to 10 items per page. if ($per_page > 0) { $this -> session -> set_userdata(array("from" => $from, "to" => $to, "per_page" => $per_page, "order_by" => $order_by, "order" => $order)); } else { $temp = $this -> session -> userdata('per_page'); if ($temp == false) { $this -> session -> set_userdata(array("from" => $from, "to" => $to, "per_page" => 10, "order_by" => "Unix_Timestamp(str_to_date(Date_Issued,'%m/%d/%Y'))", "order" => "DESC")); } } $items_per_page = $this -> session -> userdata('per_page'); $order_by = $this -> session -> userdata('order_by'); $order = $this -> session -> userdata('order'); $region = 0; $district = 0; if ($store != null) { $split_parts = explode("_", $store); $type = $split_parts[0]; $id = $split_parts[1]; if ($type == "district") { $district = $id; $this -> session -> set_userdata(array("region" => "")); $this -> session -> set_userdata(array("district" => $district)); } else if ($type == "region") { $region = $id; $this -> session -> set_userdata(array("district" => "")); $this -> session -> set_userdata(array("region" => $region)); } else if ($type == "national") { $this -> session -> set_userdata(array("district" => "")); $this -> session -> set_userdata(array("region" => "")); } } $district = $this -> session -> userdata('district'); $region = $this -> session -> userdata('region'); $data['title'] = "Disbursement Management::Vaccine Stock Ledger For The Period Between " . date('d/m/Y', $from) . " to " . date('d/m/Y', $to); $data['content_view'] = "view_ledger_view"; $data['vaccines'] = Vaccines::getAll_Minified(); $return_array = array(); $balances = array(); //Retrieve the user identifier from the session $identifier = $this -> session -> userdata('user_identifier'); if ($identifier == "national_officer") {//National Level foreach ($data['vaccines'] as $vaccine) { //skip the vaccine that is currently being browsed through if ($vaccine -> id == $paged_vaccine) { continue; } $total_disbursements = Disbursements::getTotalNationalDisbursements($vaccine -> id, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "disbursement_management/view_disbursements/" . $vaccine -> id . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 7; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$vaccine -> id] = $this -> pagination -> create_links(); } $balances[$vaccine -> id] = Disbursements::getNationalPeriodBalance($vaccine -> id, $from); $return_array[$vaccine -> id] = Disbursements::getNationalDisbursements($vaccine -> id, $from, $to, $default_offset, $items_per_page, $district, $region, $order_by, $order, $balances[$vaccine -> id]); } if ($paged_vaccine != null) { $data['paged_vaccine'] = $paged_vaccine; $total_disbursements = Disbursements::getTotalNationalDisbursements($paged_vaccine, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "disbursement_management/view_disbursements/" . $paged_vaccine . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 6; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$paged_vaccine] = $this -> pagination -> create_links(); } $balances[$paged_vaccine] = Disbursements::getNationalPeriodBalance($paged_vaccine, $from); $return_array[$paged_vaccine] = Disbursements::getNationalDisbursements($paged_vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balances[$paged_vaccine]); } } else if ($identifier == "provincial_officer") {//Regional Store Level foreach ($data['vaccines'] as $vaccine) { if ($vaccine -> id == $paged_vaccine) { continue; } $total_disbursements = Disbursements::getTotalRegionalDisbursements($district_or_province, $vaccine -> id, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "disbursement_management/view_disbursements/" . $vaccine -> id . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 7; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$vaccine -> id] = $this -> pagination -> create_links(); } $balances[$vaccine -> id] = Disbursements::getRegionalPeriodBalance($district_or_province, $vaccine -> id, $from); $return_array[$vaccine -> id] = Disbursements::getRegionalDisbursements($district_or_province, $vaccine -> id, $from, $to, $default_offset, $items_per_page, $district, $region, $order_by, $order, $balances[$vaccine -> id]); } if ($paged_vaccine != null) { $data['paged_vaccine'] = $paged_vaccine; $total_disbursements = Disbursements::getTotalRegionalDisbursements($district_or_province, $paged_vaccine, $from, $to, $district, $region); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "disbursement_management/view_disbursements/" . $paged_vaccine . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 6; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$paged_vaccine] = $this -> pagination -> create_links(); } $balances[$paged_vaccine] = Disbursements::getRegionalPeriodBalance($district_or_province, $paged_vaccine, $from); $return_array[$paged_vaccine] = Disbursements::getRegionalDisbursements($district_or_province, $paged_vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balances[$paged_vaccine]); } } else if ($identifier == "district_officer") {//District Store Level foreach ($data['vaccines'] as $vaccine) { if ($vaccine -> id == $paged_vaccine) { continue; } $total_disbursements = Disbursements::getTotalDistrictDisbursements($district_or_province, $vaccine -> id, $from, $to, $district); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "disbursement_management/view_disbursements/" . $vaccine -> id . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 7; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$vaccine -> id] = $this -> pagination -> create_links(); } $balances[$vaccine -> id] = Disbursements::getDistrictPeriodBalance($district_or_province, $vaccine -> id, $from); $return_array[$vaccine -> id] = Disbursements::getDistrictDisbursements($district_or_province, $vaccine -> id, $from, $to, $default_offset, $items_per_page, $district, $order_by, $order, $balances[$vaccine -> id]); } if ($paged_vaccine != null) { $data['paged_vaccine'] = $paged_vaccine; $total_disbursements = Disbursements::getTotalDistrictDisbursements($district_or_province, $paged_vaccine, $from, $to, $district); if ($total_disbursements > $items_per_page) { $config['base_url'] = base_url() . "disbursement_management/view_disbursements/" . $paged_vaccine . "/" . $from . "/" . $to; $config['total_rows'] = $total_disbursements; $config['per_page'] = $items_per_page; $config['uri_segment'] = 6; $config['num_links'] = 5; $this -> pagination -> initialize($config); $data['pagination'][$paged_vaccine] = $this -> pagination -> create_links(); } $balances[$paged_vaccine] = Disbursements::getDistrictPeriodBalance($district_or_province, $paged_vaccine, $from); $return_array[$paged_vaccine] = Disbursements::getDistrictDisbursements($district_or_province, $paged_vaccine, $from, $to, $offset, $items_per_page, $district, $order_by, $order, $balances[$paged_vaccine]); } } $data['disbursements'] = $return_array; $data['balances'] = $balances; $data['stylesheets'] = array("pagination.css"); //Get all the districts and regions so as to enable drilling down to a particular store $data['districts'] = Districts::getAllDistricts(); $data['regions'] = Regions::getAllRegions(); $this -> base_params_min($data); }
public function edit_task($id) { $tasks = Shipments::get_all($id); $data['tasks'] = $tasks; $data['title'] = "Task Management::Edit Task"; $data['module_view'] = "add_user_view"; $data['groups'] = User_Groups::getAllGroups(); $data['districts'] = Districts::getAllDistricts(); $data['regions'] = Regions::getAllRegions(); $this->base_params($data); echo $id; }
public function index() { //Get the Earliest Disbursement Date and the Earliest Archive Date. Do the neccesary! $earliest_disbursement_date = Disbursements::getEarliestDisbursement(); $earliest_archive_date = Archive_Logs::getEarliestArchive(); if ($earliest_archive_date == null) { $earliest_archive_date = date('m/d/Y'); } $split_disbursement_date = explode('/', $earliest_disbursement_date); $split_archive_date = explode('/', $earliest_archive_date); var_dump($split_disbursement_date); var_dump($split_archive_date); $total_months = $split_archive_date[0] - $split_disbursement_date[0] + ($split_archive_date[2] - $split_disbursement_date[2]) * 12; $dates_to_archive = array(); for ($archive_month = 0; $archive_month < $total_months; $archive_month++) { $expected_month = $archive_month + $split_disbursement_date[0]; $year = $split_disbursement_date[2]; //echo $expected_month." and ".$year; if ($expected_month > 12) { $year += ceil(($expected_month - 12) / 12); $expected_month -= 12; } $archive_date = $expected_month . "/15/" . $year; $dates_to_archive[$archive_month] = $archive_date; } var_dump($dates_to_archive); //foreach($dates_to_archive as $date_to_archive){ //Check if this date's archive has been done. If not do it now! $expected_archive_date = "6/15/2011"; $expected_archive_timestamp = strtotime($expected_archive_date); $archive_exists = Archive_Logs::archiveExists($expected_archive_date); if (!$archive_exists) { echo "Creating Archive!"; //Loop through all vaccines $vaccines = Vaccines::getAll(); $regions = Regions::getAllRegions(); $districts = Districts::getAllDistricts(); foreach ($vaccines as $vaccine) { //National Archive First $national_archive = new Archives(); $national_archive->National_Store = "0"; $national_archive->Stock_At_Hand = Disbursements::getNationalStockAtHand($vaccine->id, $expected_archive_timestamp); $national_archive->Date_Of_Archive = $expected_archive_date; $national_archive->Vaccine_Id = $vaccine->id; $national_archive->save(); //Do archives for all the regions foreach ($regions as $region) { $regional_archive = new Archives(); $regional_archive->Regional_Store_Id = $region->id; $regional_archive->Stock_At_Hand = Disbursements::getRegionalStockAtHand($region->id, $vaccine->id, $expected_archive_timestamp); $regional_archive->Date_Of_Archive = $expected_archive_date; $regional_archive->Vaccine_Id = $vaccine->id; $regional_archive->save(); } //Do archives for all the districts. :-( foreach ($districts as $district) { $district_archive = new Archives(); $district_archive->District_Store_Id = $district->id; $district_archive->Stock_At_Hand = Disbursements::getDistrictStockAtHand($district->id, $vaccine->id, $expected_archive_timestamp); $district_archive->Date_Of_Archive = $expected_archive_date; $district_archive->Vaccine_Id = $vaccine->id; $district_archive->save(); } } $archive_log = new Archive_Logs(); $archive_log->Archive_Date = $expected_archive_date; $archive_log->Timestamp = date('U'); $archive_log->Save(); } else { echo "This archive already exists!"; } //} }
} }); $this->respond(['GET', 'POST'], '/edit/[:id]', function ($request, $response, $service, $app) { $id = $request->param('id'); $data = json_decode($request->body()); $result = Regions::updateRegion($id, $data); if ($result > 0) { $response->json(Result::success('Region Updated.')); } elseif ($result === 0) { $response->json(Result::success('Region not Updated.')); } else { $response->json(Result::error('Region not found')); } }); $this->respond(['GET', 'POST'], '/delete/[:id]', function ($request, $response, $service, $app) { $id = $request->param('id'); $result = Regions::deleteRegion($id); if ($result > 0) { $response->json(Result::success('Region Deleted.')); } else { $response->json(Result::error('Region not Deleted')); } }); $this->respond(['GET', 'POST'], '/get/all', function ($request, $response, $service, $app) { $result = Regions::getAllRegions(); $response->json(Result::success('', $result)); }); $this->respond(['GET', 'POST'], '/index/all', function ($request, $response, $service, $app) { $result = Regions::getAllRegionsForIndex(); $response->json(Result::success('', $result)); });