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 download() { $this->load->database(); $valid = $this->validate_form(); if ($valid) { $data_buffer = "\n\t\t\t<style>\n\t\t\ttable.data-table {\n\t\t\ttable-layout: fixed;\n\t\t\twidth: 700px;\n\t\t\tborder-collapse:collapse;\n\t\t\tborder:1px solid black;\n\t\t\t}\n\t\t\ttable.data-table td, th {\n\t\t\twidth: 100px;\n\t\t\tborder: 1px solid black;\n\t\t\t}\n\t\t\t.leftie{\n\t\t\t\ttext-align: left !important;\n\t\t\t}\n\t\t\t.right{\n\t\t\t\ttext-align: right !important;\n\t\t\t}\n\t\t\t.center{\n\t\t\t\ttext-align: center !important;\n\t\t\t}\n\t\t\t</style> \n\t\t\t"; $start_date = $this->input->post("start_date"); $end_date = $this->input->post("end_date"); $data_buffer .= "<table class='data-table'>"; $data_buffer .= $this->echoTitles(); $district_or_region = $this->session->userdata('district_province_id'); $identifier = $this->session->userdata('user_identifier'); $population = 0; $opening_balance = 0; $closing_balance = 0; $sql_consumption = ""; $store = ""; $vaccines = Vaccines::getAll_Minified(); foreach ($vaccines as $vaccine) { if ($identifier == 'provincial_officer') { $region_object = Regions::getRegion($district_or_region); $store = $region_object->name; $population = Regional_Populations::getRegionalPopulation($district_or_region, date('Y')); $opening_balance = Disbursements::getRegionalPeriodBalance($district_or_region, $vaccine->id, strtotime($start_date)); $closing_balance = Disbursements::getRegionalPeriodBalance($district_or_region, $vaccine->id, strtotime($end_date)); $owner = "R" . $district_or_region; $sql_consumption = "select (SELECT date_format(max(str_to_date(Date_Issued,'%m/%d/%Y')),'%d-%b-%Y') FROM `disbursements` where Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "' and total_stock_balance>0)as last_stock_count,(SELECT sum(Quantity)FROM `disbursements` where Issued_By_Region = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\nstr_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_issued,(SELECT sum(Quantity) FROM `disbursements` where Issued_To_Region = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\nstr_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_received"; } else { if ($identifier == 'district_officer') { $district_object = Districts::getDistrict($district_or_region); $store = $district_object->name; $population = District_Populations::getDistrictPopulation($district_or_region, date('Y')); $opening_balance = Disbursements::getDistrictPeriodBalance($district_or_region, $vaccine->id, strtotime($start_date)); $closing_balance = Disbursements::getDistrictPeriodBalance($district_or_region, $vaccine->id, strtotime($end_date)); $owner = "D" . $district_or_region; $sql_consumption = "select (SELECT date_format(max(str_to_date(Date_Issued,'%m/%d/%Y')),'%d-%b-%Y') FROM `disbursements` where Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "' and total_stock_balance>0)as last_stock_count,(SELECT sum(Quantity)FROM `disbursements` where Issued_By_District = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\nstr_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_issued,(SELECT sum(Quantity) FROM `disbursements` where Issued_To_District = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\nstr_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_received"; } else { if ($identifier == 'national_officer') { $store = "Central Vaccines Store"; $population = Regional_Populations::getNationalPopulation(date('Y')); $opening_balance = Disbursements::getNationalPeriodBalance($vaccine->id, strtotime($start_date)); $closing_balance = Disbursements::getNationalPeriodBalance($vaccine->id, strtotime($end_date)); $sql_consumption = "select (SELECT date_format(max(str_to_date(Date_Issued,'%m/%d/%Y')),'%d-%b-%Y') FROM `disbursements` where Owner = 'N0' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "' and total_stock_balance>0)as last_stock_count,(SELECT sum(Quantity)FROM `disbursements` where Issued_By_National = '0' and Owner = 'N0' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\nstr_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_issued,(SELECT sum(Quantity) FROM `disbursements` where Issued_To_National = '0' and Owner = 'N0' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\nstr_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_received"; } } } $query = $this->db->query($sql_consumption); $vaccine_data = $query->row(); $monthly_requirement = ceil($vaccine->Doses_Required * $population * $vaccine->Wastage_Factor / 12); $data_buffer .= "<tr><td style='text-align:left;'>" . $vaccine->Name . "</td><td class='right'>" . number_format($opening_balance + 0) . "</td><td class='right'>" . number_format($vaccine_data->total_received + 0) . "</td><td class='right'>" . number_format($vaccine_data->total_issued + 0) . "</td><td class='right'>" . number_format($closing_balance - ($opening_balance + $vaccine_data->total_received - $vaccine_data->total_issued) + 0) . "</td><td class='right'>" . number_format($closing_balance + 0) . "</td><td class='center'>" . number_format($closing_balance / $monthly_requirement, 1) . "</td><td class='center'>" . $vaccine_data->last_stock_count . "</td></tr>"; } $data_buffer .= "</table>"; $this->generatePDF($data_buffer, $start_date, $end_date, $store); } else { $this->view_transactions_interface(); } }
public function get($type, $id, $vaccine, $year = "") { $monthly_opening_stocks = array(); if ($year == "") { $year = date('Y'); } $year_start = date("U", mktime(0, 0, 0, 1, 1, $year)); $vaccine_object = Vaccines::getVaccine($vaccine); $counter = 2; if ($type == 0) { //Regional Store $population = regional_populations::getRegionalPopulation($id, $year); $population = str_replace(",", "", $population); $monthly_requirement = ceil($vaccine_object->Doses_Required * $population * $vaccine_object->Wastage_Factor / 12); for ($month = 1; $month <= 36; $month++) { //Get the month $month_number = $counter / 3; //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 3 == 0) { $month_date = 7; } else { if ($month % 3 == 1) { $month_date = 21; } else { if ($month % 3 == 2) { $month_date = 28; } } } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); $monthly_opening_stocks[$month] = Disbursements::getRegionalPeriodBalance($id, $vaccine, $to); $counter += 3; } $upper_limit = $monthly_requirement * 4; $lower_limit = $monthly_requirement; } else { if ($type == 1) { //District Store $population = district_populations::getDistrictPopulation($id, $year); $population = str_replace(",", "", $population); $monthly_requirement = ceil($vaccine_object->Doses_Required * $population * $vaccine_object->Wastage_Factor / 12); for ($month = 1; $month <= 36; $month++) { //Get the month $month_number = $counter / 2; //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 3 == 0) { $month_date = 7; } else { if ($month % 3 == 1) { $month_date = 21; } else { if ($month % 3 == 2) { $month_date = 28; } } } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); $monthly_opening_stocks[$month] = Disbursements::getDistrictPeriodBalance($id, $vaccine, $to); $counter += 2; } $upper_limit = $monthly_requirement * 2; $lower_limit = ceil($monthly_requirement / 2); } else { if ($type == 2) { //National Store $population = regional_populations::getNationalPopulation($year); $population = str_replace(",", "", $population); $monthly_requirement = ceil($vaccine_object->Doses_Required * $population * $vaccine_object->Wastage_Factor / 12); for ($month = 1; $month <= 36; $month++) { //Get the month $month_number = $counter / 2; //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 3 == 0) { $month_date = 7; } else { if ($month % 3 == 1) { $month_date = 21; } else { if ($month % 3 == 2) { $month_date = 28; } } } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); $monthly_opening_stocks[$month] = Disbursements::getNationalPeriodBalance($vaccine, $to); $counter += 2; } $upper_limit = $monthly_requirement * 4; $lower_limit = $monthly_requirement; } } } $chart = ' <chart caption="Monthly Stock at Hand Summary" subcaption="For the year ' . $year . '" xAxisName="Month" yAxisName="Quantity" numberSuffix=" doses" showValues="0" alternateHGridColor="FCB541" alternateHGridAlpha="20" divLineColor="FCB541" divLineAlpha="50" canvasBorderColor="666666" baseFontColor="666666" lineColor="FCB541"> <categories> <category label="Jan"/> <category label=""/> <category label=""/> <category label="Feb"/> <category label=""/> <category label=""/> <category label="Mar"/> <category label=""/> <category label=""/> <category label="Apr"/> <category label=""/> <category label=""/> <category label="May"/> <category label=""/> <category label=""/> <category label="Jun"/> <category label=""/> <category label=""/> <category label="Jul"/> <category label=""/> <category label=""/> <category label="Aug"/> <category label=""/> <category label=""/> <category label="Sep"/> <category label=""/> <category label=""/> <category label="Oct"/> <category label=""/> <category label=""/> <category label="Nov"/> <category label=""/> <category label=""/> <category label="Dec"/> <category label=""/> <category label=""/> </categories> <dataset seriesName="Upper Limit" color="269600" anchorBorderColor="269600" anchorBgColor="269600">'; for ($x = 1; $x <= 36; $x++) { $cumulative_value = $upper_limit; $chart .= '<set value="' . $cumulative_value . '"/>'; } $chart .= '</dataset> <dataset seriesName="Receipts" color="0008FF" anchorBorderColor="0008FF" anchorBgColor="0008FF"> <set value="' . $monthly_opening_stocks[1] . '"/> <set value="' . $monthly_opening_stocks[2] . '"/> <set value="' . $monthly_opening_stocks[3] . '"/> <set value="' . $monthly_opening_stocks[4] . '"/> <set value="' . $monthly_opening_stocks[5] . '"/> <set value="' . $monthly_opening_stocks[6] . '"/> <set value="' . $monthly_opening_stocks[7] . '"/> <set value="' . $monthly_opening_stocks[8] . '"/> <set value="' . $monthly_opening_stocks[9] . '"/> <set value="' . $monthly_opening_stocks[10] . '"/> <set value="' . $monthly_opening_stocks[11] . '"/> <set value="' . $monthly_opening_stocks[12] . '"/> <set value="' . $monthly_opening_stocks[13] . '"/> <set value="' . $monthly_opening_stocks[14] . '"/> <set value="' . $monthly_opening_stocks[15] . '"/> <set value="' . $monthly_opening_stocks[16] . '"/> <set value="' . $monthly_opening_stocks[17] . '"/> <set value="' . $monthly_opening_stocks[18] . '"/> <set value="' . $monthly_opening_stocks[19] . '"/> <set value="' . $monthly_opening_stocks[20] . '"/> <set value="' . $monthly_opening_stocks[21] . '"/> <set value="' . $monthly_opening_stocks[22] . '"/> <set value="' . $monthly_opening_stocks[23] . '"/> <set value="' . $monthly_opening_stocks[24] . '"/> <set value="' . $monthly_opening_stocks[25] . '"/> <set value="' . $monthly_opening_stocks[26] . '"/> <set value="' . $monthly_opening_stocks[27] . '"/> <set value="' . $monthly_opening_stocks[28] . '"/> <set value="' . $monthly_opening_stocks[29] . '"/> <set value="' . $monthly_opening_stocks[30] . '"/> <set value="' . $monthly_opening_stocks[31] . '"/> <set value="' . $monthly_opening_stocks[32] . '"/> <set value="' . $monthly_opening_stocks[33] . '"/> <set value="' . $monthly_opening_stocks[34] . '"/> <set value="' . $monthly_opening_stocks[35] . '"/> <set value="' . $monthly_opening_stocks[36] . '"/> </dataset> <dataset seriesName="Lower Limit" color="FF0000" anchorBorderColor="FF0000" anchorBgColor="FF0000">'; for ($x = 1; $x <= 36; $x++) { $cumulative_value = $lower_limit; $chart .= '<set value="' . $cumulative_value . '"/>'; } $chart .= '</dataset> <styles> <definition> <style name="Anim1" type="animation" param="_xscale" start="0" duration="1"/> <style name="Anim2" type="animation" param="_alpha" start="0" duration="0.6"/> <style name="DataShadow" type="Shadow" alpha="40"/> </definition> <application> <apply toObject="DIVLINES" styles="Anim1"/> <apply toObject="HGRID" styles="Anim2"/> <apply toObject="DATALABELS" styles="DataShadow,Anim2"/> </application> </styles> </chart> '; echo $chart; }
public function download_mos_trend($selected_year = 0, $national = "", $region = "", $district = "") { $year = date('Y'); if ($selected_year != "0") { $year = $selected_year; } $counter = 2; $vaccine_objects = Vaccines::getAll(); $population = 0; $title = ""; if ($national > 0) { $title = "MOS Balance Trend at Central Vaccine Store"; $population = Regional_Populations::getNationalPopulation($year); } if ($region > 0) { $region_object = Regions::getRegion($region); $title = "MOS Balance Trend at " . $region_object->name; $population = Regional_Populations::getRegionalPopulation($region, $year); } if ($district > 0) { $district_object = Districts::getDistrict($district); $title = "MOS Balance Trend at " . $district_object->name . " District Store"; $population = District_Populations::getDistrictPopulation($district, $year); } $population = str_replace(",", "", $population); foreach ($vaccine_objects as $vaccine_object) { $monthly_requirement = ceil($vaccine_object->Doses_Required * $population * $vaccine_object->Wastage_Factor / 12); for ($month = 1; $month <= 36; $month++) { $mos_balance = 0; //Get the month $month_number = ceil($month / 3); //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 3 == 0) { $month_date = 28; } else { if ($month % 3 == 1) { $month_date = 7; } else { if ($month % 3 == 2) { $month_date = 21; } } } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); $stock_balance = 0; if ($national > 0) { $stock_balance = Disbursements::getNationalPeriodBalance($vaccine_object->id, $to); } if ($region > 0) { $stock_balance = Disbursements::getRegionalPeriodBalance($region, $vaccine_object->id, $to); } if ($district > 0) { $stock_balance = Disbursements::getDistrictPeriodBalance($district, $vaccine_object->id, $to); } //$stock_balance = 0; if ($stock_balance > 0) { $mos_balance = number_format($stock_balance / $monthly_requirement, 2); } $monthly_opening_stocks[$month][$vaccine_object->id]['stock_balance'] = number_format($stock_balance + 0); $monthly_opening_stocks[$month][$vaccine_object->id]['mos_balance'] = $mos_balance; $counter += 2; } } $data_buffer = "\n\t\t\t<style>\n\t\t\ttable.data-table {\n\t\t\ttable-layout: fixed;\n\t\t\twidth: 1000px;\n\t\t\tborder-collapse:collapse;\n\t\t\tborder:1px solid black;\n\t\t\t}\n\t\t\ttable.data-table td, th {\n\t\t\twidth: 100px;\n\t\t\tborder: 1px solid black;\n\t\t\t}\n\t\t\t.leftie{\n\t\t\t\ttext-align: left !important;\n\t\t\t}\n\t\t\t.center{\n\t\t\t\ttext-align: center !important;\n\t\t\t}\n\t\t\t.right{\n\t\t\t\ttext-align: right !important;\n\t\t\t}\n\t\t\t</style> \n\t\t\t"; $data_buffer .= "<table class='data-table'>"; $counter = 2; $data_buffer .= $this->echoTitles($vaccine_objects); for ($month = 1; $month <= 36; $month++) { $data_buffer .= "<tr>"; $month_number = ceil($month / 3); //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 3 == 0) { $month_date = 28; } else { if ($month % 3 == 1) { $month_date = 7; } else { if ($month % 3 == 2) { $month_date = 21; } } } $date = date("M-d", mktime(0, 0, 0, $month_number, $month_date, $year)); $data_buffer .= "<td>" . $date . "</td>"; foreach ($vaccine_objects as $vaccine_object) { $data_buffer .= "<td class='center'>" . $monthly_opening_stocks[$month][$vaccine_object->id]['mos_balance'] . "</td><td class='right'>" . $monthly_opening_stocks[$month][$vaccine_object->id]['stock_balance'] . "</td>"; } $data_buffer .= "</tr>"; $counter += 2; } $data_buffer .= "</table>"; $this->generatePDF($data_buffer, $year, $title); // var_dump($monthly_opening_stocks); }
public function export($type, $id, $vaccine) { //Retrieve the user identifier $from = $this -> session -> userdata('external_from'); $to = $this -> session -> userdata('external_to'); if ($to == false) { $to = date("U", mktime(0, 0, 0, 1, 1, date("Y") + 1)); } if ($from == false) { $from = date("U", mktime(0, 0, 0, 1, 1, date('Y'))); } $offset = 0; $items_per_page = 1000; $district = $this -> session -> userdata('external_district'); $region = $this -> session -> userdata('external_region'); $order_by = $this -> session -> userdata('external_order_by'); $order = $this -> session -> userdata('external_order'); $origin_region = $id; $origin_district = $id; $disbursements = null; $data = null; if ($type == "national_officer") {//National Level if ($order == 2) { $balance = Disbursements::getNationalPeriodBalance($vaccine, $from); } else if ($order == "DESC") { $balance = Disbursements::getNationalPeriodBalance($vaccine, $to); } $disbursements = Disbursements::getNationalDisbursements($vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balance); } else if ($type == 0) {//Regional Level if ($order == "ASC") { $balance = Disbursements::getRegionalPeriodBalance($origin_region, $vaccine, $from); } else if ($order == "DESC") { $balance = Disbursements::getRegionalPeriodBalance($origin_region, $vaccine, $to); } $disbursements = Disbursements::getRegionalDisbursements($origin_region, $vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balance); } else if ($type == 1) {//District Level if ($order == "ASC") { $balance = Disbursements::getDistrictPeriodBalance($origin_district, $vaccine, $from); } else if ($order == "DESC") { $balance = Disbursements::getDistrictPeriodBalance($origin_district, $vaccine, $to); } $disbursements = Disbursements::getDistrictDisbursements($origin_district, $vaccine, $from, $to, $offset, $items_per_page, $district, $region, $order_by, $order, $balance); } $reducing_balance = $balance; $headers = "Balance From Previous Period: " . $balance . "\t\nDate Issued\t Vaccines To/From \t Amount Received\t Amount Issued \tStore Balance\t Voucher Number\t Batch Number\t Vaccine Expiry Date\t Recorded By\t\n"; foreach ($disbursements as $disbursement) { $data .= $disbursement -> Date_Issued . "\t"; //If the vaccines were issued to a Region, display the name if ($disbursement -> Issued_To_Region != null && $disbursement -> Issued_To_Region != $origin_region) { $data .= $disbursement -> Region_Issued_To -> name . "\t"; $data .= " \t" . $disbursement -> Quantity . "\t"; } //If the vaccines were received from a region (apart from ourselves ofcourse) display the name if ($disbursement -> Issued_By_Region != null && $disbursement -> Issued_By_Region != $origin_region) { $data .= $disbursement -> Region_Issued_By -> name . "\t"; $data .= $disbursement -> Quantity . "\t\t"; } //If the vaccines were issued to a District other than ourselves, display the name if ($disbursement -> Issued_To_District != null && $disbursement -> Issued_To_District != $origin_district) { $data .= $disbursement -> District_Issued_To -> name . "\t"; $data .= " \t" . $disbursement -> Quantity . "\t"; } //If the vaccines were received from a district (apart from ourselves ofcourse) display the name if ($disbursement -> Issued_By_District != null && $disbursement -> Issued_By_District != $origin_district) { $data .= $disbursement -> District_Issued_By -> name . "\t"; $data .= $disbursement -> Quantity . "\t\t"; } //If the vaccines were issued the Central store, Display UNICEF as the source if ($disbursement -> Issued_To_National == "0") { $data .= "UNICEF\t"; $data .= $disbursement -> Quantity . "\t\t"; } //If the vaccines were issued by Central store and if this is not the national store, Display National Store as the source if ($disbursement -> Issued_By_National == "0" && $type != 2) { $data .= "Central Vaccine Stores\t"; $data .= $disbursement -> Quantity . "\t\t"; } $data .= $disbursement -> Total_Stock_Balance . "\t"; $data .= $disbursement -> Voucher_Number . "\t"; $data .= $disbursement -> Batch_Number . "\t"; $data .= $disbursement -> Batch -> Expiry_Date . "\t"; $data .= $disbursement -> User -> Full_Name . "\t"; $data .= "\n"; } header("Content-type: application/vnd.ms-excel; name='excel'"); header("Content-Disposition: filename=stock_ledger_export.xls"); // Fix for crappy IE bug in download. header("Pragma: "); header("Cache-Control: "); echo $headers . $data; }
function download($national = "", $region = "", $district = "") { $title = ""; if ($national > 0) { $title = "MOS Available at Central Vaccine Store"; } if ($region > 0) { $region_object = Regions::getRegion($region); $title = "MOS Available at " . $region_object -> name; } if ($district > 0) { $district_object = Districts::getDistrict($district); $title = "MOS Available at " . $district_object -> name . " District Store"; } $vaccines = Vaccines::getAll_Minified(); $date = date("m/d/Y"); $months_required = array(); $data_buffer = " <style> table.data-table { table-layout: fixed; width: 700px; border-collapse:collapse; border:1px solid black; } table.data-table td, th { width: 100px; border: 1px solid black; } .leftie{ text-align: left !important; } .right{ text-align: right !important; } .center{ text-align: center !important; } </style> "; $data_buffer .= "<table class='data-table'>"; $data_buffer .= $this -> echoTitles(); foreach ($vaccines as $vaccine_object) { $months_of_stock = array(); $year = date('Y'); $now = date('U'); $population = 0; $stock_balance = 0; if ($national > 0) { $population = Regional_Populations::getNationalPopulation($year); $stock_balance = Disbursements::getNationalPeriodBalance($vaccine_object -> id, $now); } if ($region > 0) { $population = Regional_Populations::getRegionalPopulation($region, $year); $stock_balance = Disbursements::getRegionalPeriodBalance($region, $vaccine_object -> id, $now); } if ($district > 0) { $population = District_Populations::getDistrictPopulation($district, $year); $stock_balance = Disbursements::getDistrictPeriodBalance($district, $vaccine_object -> id, $now); } $population = str_replace(",", "", $population); $monthly_requirement = ceil(($vaccine_object -> Doses_Required * $population * $vaccine_object -> Wastage_Factor) / 12); $months_till_shipment = 0; if ($national > 0) { $months_of_stock = array(); $year = date('Y'); $now = date('U'); $expected_delivery = Provisional_Plan::getNextDelivery($vaccine_object -> id); if (isset($expected_delivery[0])) { $next_shipment = $expected_delivery[0]['next_shipment']; $days_till_shipment = $expected_delivery[0]['difference']; if (isset($days_till_shipment)) { $months_till_shipment = number_format(($days_till_shipment / 30), 1); } } } if ($region > 0) { $months_till_shipment = 3; $next_shipment = "N/A"; } if ($district > 0) { $months_till_shipment = 3; $next_shipment = "N/A"; } $doses_needed = "N/A"; if ($stock_balance > 0) { $months_left = number_format(($stock_balance / $monthly_requirement), 1); } if ($months_left > $months_till_shipment) { $doses_needed = "None"; } else { $doses_needed = number_format((($months_till_shipment - $months_left) * $monthly_requirement), 2); } $monthly_requirement = number_format($monthly_requirement + 0); $data_buffer .= "<tr><td class='leftie'>" . $vaccine_object -> Name . "</td><td class='right'>" . number_format($stock_balance) . "</td><td class='center'>" . $months_left . "</td><td class='center'>" . $next_shipment . "</td><td class='center'>" . $months_till_shipment . "</td><td class='right'>" . $monthly_requirement . "</td><td class='right'>" . $doses_needed . "</td></tr>"; } $data_buffer .= "</table>"; $this -> generatePDF($data_buffer, $title); //echo $data_buffer; }
public function printReport($from, $to) { @$this->load->database(); @($user_groups = User_groups::getAllGroups()); foreach ($user_groups as $user_group) { @($identifier = $user_group["Identifier"]); @($population = 0); @($opening_balance = 0); @($closing_balance = 0); @($sql_consumption = ""); @($store = ""); @($vaccines = Vaccines::getAll_Minified()); if ($identifier == 'provincial_officer') { @($provinces = Provinces::getAllProvinces()); foreach ($provinces as $province) { @($data_buffer = "\n\t\t\t <style>\n\t\t\ttable.data-table {\n\t\t\ttable-layout: fixed;\n\t\t\twidth: 700px;\n\t\t\tborder-collapse:collapse;\n\t\t\tborder:1px solid black;\n\t\t\t}\n\t\t\ttable.data-table td, th {\n\t\t\twidth: 100px;\n\t\t\tborder: 1px solid black;\n\t\t\t}\n\t\t\t.leftie{\n\t\t\t\ttext-align: left !important;\n\t\t\t}\n\t\t\t.right{\n\t\t\t\ttext-align: right !important;\n\t\t\t}\n\t\t\t.center{\n\t\t\t\ttext-align: center !important;\n\t\t\t}\n\t\t\t</style>\n\t\t\t "); @($start_date = $from); @($end_date = $to); @($data_buffer .= "<table class='data-table'>"); @($data_buffer .= $this->echoTitles()); foreach ($vaccines as $vaccine) { @($district_or_region = $province["id"]); @($region_object = Regions::getRegion($district_or_region)); @($store = $region_object->name); @($population = Regional_Populations::getRegionalPopulation($district_or_region, date('Y'))); @($opening_balance = Disbursements::getRegionalPeriodBalance($district_or_region, $vaccine->id, strtotime($start_date))); @($closing_balance = Disbursements::getRegionalPeriodBalance($district_or_region, $vaccine->id, strtotime($end_date))); @($owner = "R" . $district_or_region); @($sql_consumption = "select (SELECT max(str_to_date(Date_Issued,'%m/%d/%Y')) FROM `disbursements` where Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "' and total_stock_balance>0)as last_stock_count,(SELECT sum(Quantity)FROM `disbursements` where Issued_By_Region = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\n str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_issued,(SELECT sum(Quantity) FROM `disbursements` where Issued_To_Region = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\n str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_received"); @($query = $this->db->query($sql_consumption)); @($vaccine_data = $query->row()); @($monthly_requirement = ceil($vaccine->Doses_Required * $population * $vaccine->Wastage_Factor / 12)); @($data_buffer .= "<tr><td>" . $vaccine->Name . "</td><td>" . number_format($opening_balance + 0) . "</td><td>" . number_format($vaccine_data->total_received + 0) . "</td><td>" . number_format($vaccine_data->total_issued + 0) . "</td><td>" . number_format($closing_balance - ($opening_balance + $vaccine_data->total_received - $vaccine_data->total_issued) + 0) . "</td><td>" . number_format($closing_balance + 0) . "</td><td>" . number_format($closing_balance / $monthly_requirement, 1) . "</td><td>" . $vaccine_data->last_stock_count . "</td></tr>"); } //end of foreach vaccines @($vals = 1); @($data_buffer .= "</table>"); @$this->generatePDF($data_buffer, $start_date, $end_date, $store, $district_or_region, $vals, $store); @($data_buffer = ""); } } if ($identifier == 'district_officer') { @($districts = Districts::getAllDistricts()); foreach ($districts as $district) { @($data_buffer = "\n\t\t\t <style>\n\t\t\ttable.data-table {\n\t\t\ttable-layout: fixed;\n\t\t\twidth: 700px;\n\t\t\tborder-collapse:collapse;\n\t\t\tborder:1px solid black;\n\t\t\t}\n\t\t\ttable.data-table td, th {\n\t\t\twidth: 100px;\n\t\t\tborder: 1px solid black;\n\t\t\t}\n\t\t\t.leftie{\n\t\t\t\ttext-align: left !important;\n\t\t\t}\n\t\t\t.right{\n\t\t\t\ttext-align: right !important;\n\t\t\t}\n\t\t\t.center{\n\t\t\t\ttext-align: center !important;\n\t\t\t}\n\t\t\t</style>\n\t\t\t "); @($start_date = $from); @($end_date = $to); @($data_buffer .= "<table class='data-table'>"); @($data_buffer .= $this->echoTitles()); foreach ($vaccines as $vaccine) { @($district_or_region = $district["id"]); @($district_object = Districts::getDistrict($district_or_region)); @($store = $district_object->name); @($population = District_Populations::getDistrictPopulation($district_or_region, date('Y'))); @($opening_balance = Disbursements::getDistrictPeriodBalance($district_or_region, $vaccine->id, strtotime($start_date))); @($closing_balance = Disbursements::getDistrictPeriodBalance($district_or_region, $vaccine->id, strtotime($end_date))); @($owner = "D" . $district_or_region); @($sql_consumption = "select (SELECT max(str_to_date(Date_Issued,'%m/%d/%Y')) FROM `disbursements` where Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "' and total_stock_balance>0)as last_stock_count,(SELECT sum(Quantity)FROM `disbursements` where Issued_By_District = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\n str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_issued,(SELECT sum(Quantity) FROM `disbursements` where Issued_To_District = '" . $district_or_region . "' and Owner = '" . $owner . "' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\n str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_received"); @($query = $this->db->query($sql_consumption)); @($vaccine_data = $query->row()); @($monthly_requirement = ceil($vaccine->Doses_Required * $population * $vaccine->Wastage_Factor / 12)); @($data_buffer .= "<tr><td>" . $vaccine->Name . "</td><td>" . number_format($opening_balance + 0) . "</td><td>" . number_format($vaccine_data->total_received + 0) . "</td><td>" . number_format($vaccine_data->total_issued + 0) . "</td><td>" . number_format($closing_balance - ($opening_balance + $vaccine_data->total_received - $vaccine_data->total_issued) + 0) . "</td><td>" . number_format($closing_balance + 0) . "</td><td>" . number_format($closing_balance / $monthly_requirement, 1) . "</td><td>" . $vaccine_data->last_stock_count . "</td></tr>"); } //end of foreach vaccines @($vals = 2); @($data_buffer .= "</table>"); @$this->generatePDF($data_buffer, $start_date, $end_date, $store, $district_or_region, $vals, $store); @($data_buffer = ""); } } if ($identifier == 'national_officer') { @($data_buffer = "\n\t\t\t <style>\n\t\t\ttable.data-table {\n\t\t\ttable-layout: fixed;\n\t\t\twidth: 700px;\n\t\t\tborder-collapse:collapse;\n\t\t\tborder:1px solid black;\n\t\t\t}\n\t\t\ttable.data-table td, th {\n\t\t\twidth: 100px;\n\t\t\tborder: 1px solid black;\n\t\t\t}\n\t\t\t.leftie{\n\t\t\t\ttext-align: left !important;\n\t\t\t}\n\t\t\t.right{\n\t\t\t\ttext-align: right !important;\n\t\t\t}\n\t\t\t.center{\n\t\t\t\ttext-align: center !important;\n\t\t\t}\n\t\t\t</style>\n\t\t\t "); @($start_date = $from); @($end_date = $to); @($data_buffer .= "<table class='data-table'>"); @($data_buffer .= $this->echoTitles()); @($store = "Central Vaccines Store"); foreach ($vaccines as $vaccine) { @($population = Regional_Populations::getNationalPopulation(date('Y'))); @($opening_balance = Disbursements::getNationalPeriodBalance($vaccine->id, strtotime($start_date))); @($closing_balance = Disbursements::getNationalPeriodBalance($vaccine->id, strtotime($end_date))); @($sql_consumption = "select (SELECT max(str_to_date(Date_Issued,'%m/%d/%Y')) FROM `disbursements` where Owner = 'N0' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "' and total_stock_balance>0)as last_stock_count,(SELECT sum(Quantity)FROM `disbursements` where Issued_By_National = '0' and Owner = 'N0' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\n str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_issued,(SELECT sum(Quantity) FROM `disbursements` where Issued_To_National = '0' and Owner = 'N0' and str_to_date(Date_Issued,'%m/%d/%Y') between str_to_date('" . $start_date . "','%m/%d/%Y') and\n str_to_date('" . $end_date . "','%m/%d/%Y') and Vaccine_Id = '" . $vaccine->id . "')as total_received"); @($query = $this->db->query($sql_consumption)); @($vaccine_data = $query->row()); @($monthly_requirement = ceil($vaccine->Doses_Required * $population * $vaccine->Wastage_Factor / 12)); @($data_buffer .= "<tr><td>" . $vaccine->Name . "</td><td>" . number_format($opening_balance + 0) . "</td><td>" . number_format($vaccine_data->total_received + 0) . "</td><td>" . number_format($vaccine_data->total_issued + 0) . "</td><td>" . number_format($closing_balance - ($opening_balance + $vaccine_data->total_received - $vaccine_data->total_issued) + 0) . "</td><td>" . number_format($closing_balance + 0) . "</td><td>" . number_format($closing_balance / $monthly_requirement, 1) . "</td><td>" . $vaccine_data->last_stock_count . "</td></tr>"); } //end of foreach vaccines @($vals = 3); @($data_buffer .= "</table>"); @($district_or_region = ""); @$this->generatePDF($data_buffer, $start_date, $end_date, $store, $district_or_region, $vals, $store); @($data_buffer = ""); } } //end of foreach user_group }
public function get_freezer_occupancy($national = "", $region = "", $district = "") { $title = ""; $store_fridges = ""; if ($national > 0) { $store_fridges = National_Fridges::getNationalFridges(); } if ($region > 0) { $store_fridges = Regional_Fridges::getRegionFridges($region); } if ($district > 0) { $store_fridges = District_Fridges::getDistrictFridges($district); } $freezer_vaccines = Fridge_Compartments::getCompartmentVaccines("freezer"); $freezer_capacities = array(); $now = date("U"); $total_net_volume_minus_20deg = 0; $occupied_capacity = 0; foreach ($store_fridges as $fridge) { $total_net_volume_minus_20deg += $fridge->Fridge_Equipment->Net_Vol_Minus_20deg; } //Get the stock balances for each of the vaccines at this point in time foreach ($freezer_vaccines as $vaccine) { if ($vaccine->Active == "0") { continue; } $volume = $vaccine->Vaccine_Packed_Volume; if ($national > 0) { $stock_balance = Disbursements::getNationalPeriodBalance($vaccine->id, $now); } if ($region > 0) { $stock_balance = Disbursements::getRegionalPeriodBalance($region, $vaccine->id, $now); } if ($district > 0) { $stock_balance = Disbursements::getDistrictPeriodBalance($district, $vaccine->id, $now); } $volume_occupied = $volume * $stock_balance; if ($volume_occupied > 0) { $volume_occupied = $volume_occupied / 1000; $occupied_capacity += $volume_occupied; } } $percentage_occupied = number_format($occupied_capacity / $total_net_volume_minus_20deg, 3) * 100; $chart = '<chart bgColor="FFFFFF"'; if ($percentage_occupied >= 75) { $chart .= ' cylFillColor="EB0000"'; } else { $chart .= ' cylFillColor="07E007"'; } $chart .= ' showBorder="0" showCanvasBase="1" cylRadius="20" upperLimit="100" lowerLimit="0" tickMarkGap="5" numberSuffix="%" caption="% of Fridge Occupied"> <value>' . $percentage_occupied . '</value> <annotations> <annotationGroup> <annotation type="text" label="Freezer" font="Verdana" xPos="10" yPos="285" align="left" vAlign="left" fontcolor="333333" fontSize="10"/> </annotationGroup> </annotations> </chart>'; echo $chart; }
public function drill_down($type, $id) { $to = $this -> input -> post('to'); $from = $this -> input -> post('from'); 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); } $data['type'] = $type; $data['id'] = $id; $data['title'] = "Disbursement Management::Receipts Log For The Period Between " . date('d/m/Y', $from) . " to " . date('d/m/Y', $to); $data['content_view'] = "view_receipts_view"; $data['vaccines'] = Vaccines::getAll_Minified(); $return_array = array(); $current_stock = array(); $population = 0; $year = date('Y'); $balances = array(); $archive_date = date('U'); //Type 0 means we are drilling down to a region if ($type == 0) { $data['recipient'] = Regions::getRegionName($id); $data['type'] = 0; $data['store_id'] = $id; foreach ($data['vaccines'] as $vaccine) { $return_array[$vaccine -> id] = Disbursements::getRegionalReceipts($id, $vaccine -> id, $from, $to); $current_stock[$vaccine -> id] = Disbursements::getRegionalPeriodBalance($id, $vaccine -> id, $archive_date); } $population = Regional_Populations::getRegionalPopulation($id, $year); } //Type 1 means we are drilling down to a district else if ($type == 1) { $data['recipient'] = Districts::getDistrictName($id); $data['type'] = 1; $data['store_id'] = $id; foreach ($data['vaccines'] as $vaccine) { $return_array[$vaccine -> id] = Disbursements::getDistrictReceipts($id, $vaccine -> id, $from, $to); //$current_stock[$vaccine->id] = Disbursements::getDistrictStockAtHand($id,$vaccine->id); $current_stock[$vaccine -> id] = Disbursements::getDistrictPeriodBalance($id, $vaccine -> id, $archive_date); } $population = District_Populations::getDistrictPopulation($id, $year); } //Type 2 means we are drilling down to the whole country if ($type == 2) { $data['recipient'] = "National Store"; $data['type'] = 2; $data['store_id'] = "0"; foreach ($data['vaccines'] as $vaccine) { $return_array[$vaccine -> id] = Disbursements::getNationalReceived($vaccine -> id, $from, $to); $current_stock[$vaccine -> id] = Disbursements::getNationalPeriodBalance($vaccine -> id, $archive_date); } $population = Regional_Populations::getNationalPopulation($year); } $data['population'] = $population; $data['disbursements'] = $return_array; $data['current_stocks'] = $current_stock; $this -> base_params_min_graph($data); }
public function utilization($type, $year = "") { $total_occupied_capacity = array(); if ($year == "") { $year = date('Y'); } $year_start = date("U", mktime(0, 0, 0, 1, 1, $year)); $vaccines = Fridge_Compartments::getCompartmentVaccines($type); $counter = 2; $user_identifier = $this->session->userdata("user_identifier"); $district_province_id = $this->session->userdata("user_identifier"); $fridges = null; if ($user_identifier == "regional_officer") { //Regional Store for ($month = 1; $month <= 24; $month++) { //Get the month $month_number = $counter / 2; //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 2 == 0) { $month_date = 21; } else { $month_date = 7; } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); //Get the stock balances for each of the vaccines at this point in time $total_volume = 0; foreach ($vaccines as $vaccine) { $volume = $vaccine->Vaccine_Packed_Volume; $stock_balance = Disbursements::getRegionalPeriodBalance($district_province_id, $vaccine->id, $to); $volume_occupied = $volume * $stock_balance; $total_volume += $volume_occupied; } $total_occupied_capacity[$month] = $total_volume; $counter += 2; } //Get the Fridges of this store $fridges = Regional_Fridges::getRegionFridges($district_province_id); } else { if ($user_identifier == "district_officer") { //District Store for ($month = 1; $month <= 24; $month++) { //Get the month $month_number = $counter / 2; //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 2 == 0) { $month_date = 21; } else { $month_date = 7; } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); //Get the stock balances for each of the vaccines at this point in time $total_volume = 0; foreach ($vaccines as $vaccine) { $volume = $vaccine->Vaccine_Packed_Volume; $stock_balance = Disbursements::getDistrictPeriodBalance($district_province_id, $vaccine->id, $to); $volume_occupied = $volume * $stock_balance; $total_volume += $volume_occupied; } $total_occupied_capacity[$month] = $total_volume; $counter += 2; } //Get the Fridges of this store $fridges = District_Fridges::getDistrictFridges($district_province_id); } else { if ($user_identifier == "national_officer") { //National Store for ($month = 1; $month <= 24; $month++) { //Get the month $month_number = $counter / 2; //If it is an even number, get values for the 21st, if it's odd, get values for the 7th if ($month % 2 == 0) { $month_date = 21; } else { $month_date = 7; } $to = date("U", mktime(0, 0, 0, $month_number, $month_date, $year)); //Get the stock balances for each of the vaccines at this point in time $total_volume = 0; foreach ($vaccines as $vaccine) { $volume = $vaccine->Vaccine_Packed_Volume; $stock_balance = Disbursements::getNationalPeriodBalance($vaccine->id, $to); $volume_occupied = $volume * $stock_balance; $total_volume += $volume_occupied; } $total_occupied_capacity[$month] = $total_volume; $counter += 2; } //Get the Fridges of this store $fridges = National_Fridges::getNationalFridges(); } } } $net_volume = 0; //loop through all the fridges to get the total capacity foreach ($fridges as $fridge) { if ($type == "freezer") { $net_volume += $fridge->Fridge_Equipment->Net_Vol_Minus_20deg; } else { if ($type == "fridge") { $net_volume += $fridge->Fridge_Equipment->Net_Vol_4deg; } } } //convert from m3 to cm3 $net_volume /= 1000; $chart = ' <chart caption="Annual Capacity Utilization" subcaption="For the year ' . $year . '" xAxisName="Month" yAxisName="Volume" numberSuffix="m3" showValues="0" alternateHGridColor="FCB541" alternateHGridAlpha="20" divLineColor="FCB541" divLineAlpha="50" canvasBorderColor="666666" baseFontColor="666666" lineColor="FCB541"> <categories> <category label="Jan"/> <category label=""/> <category label="Feb"/> <category label=""/> <category label="Mar"/> <category label=""/> <category label="Apr"/> <category label=""/> <category label="May"/> <category label=""/> <category label="Jun"/> <category label=""/> <category label="Jul"/> <category label=""/> <category label="Aug"/> <category label=""/> <category label="Sep"/> <category label=""/> <category label="Oct"/> <category label=""/> <category label="Nov"/> <category label=""/> <category label="Dec"/> <category label=""/> </categories> <dataset seriesName="Capacity Utilized" color="0008FF" anchorBorderColor="0008FF" anchorBgColor="0008FF"> <set value="' . $total_occupied_capacity[1] / 1000000 . '"/> <set value="' . $total_occupied_capacity[2] / 1000000 . '"/> <set value="' . $total_occupied_capacity[3] / 1000000 . '"/> <set value="' . $total_occupied_capacity[4] / 1000000 . '"/> <set value="' . $total_occupied_capacity[5] / 1000000 . '"/> <set value="' . $total_occupied_capacity[6] / 1000000 . '"/> <set value="' . $total_occupied_capacity[7] / 1000000 . '"/> <set value="' . $total_occupied_capacity[8] / 1000000 . '"/> <set value="' . $total_occupied_capacity[9] / 1000000 . '"/> <set value="' . $total_occupied_capacity[10] / 1000000 . '"/> <set value="' . $total_occupied_capacity[11] / 1000000 . '"/> <set value="' . $total_occupied_capacity[12] / 1000000 . '"/> <set value="' . $total_occupied_capacity[13] / 1000000 . '"/> <set value="' . $total_occupied_capacity[14] / 1000000 . '"/> <set value="' . $total_occupied_capacity[15] / 1000000 . '"/> <set value="' . $total_occupied_capacity[16] / 1000000 . '"/> <set value="' . $total_occupied_capacity[17] / 1000000 . '"/> <set value="' . $total_occupied_capacity[18] / 1000000 . '"/> <set value="' . $total_occupied_capacity[19] / 1000000 . '"/> <set value="' . $total_occupied_capacity[20] / 1000000 . '"/> <set value="' . $total_occupied_capacity[21] / 1000000 . '"/> <set value="' . $total_occupied_capacity[22] / 1000000 . '"/> <set value="' . $total_occupied_capacity[23] / 1000000 . '"/> <set value="' . $total_occupied_capacity[24] / 1000000 . '"/> </dataset> <dataset seriesName="Net Volume" color="FF0000" anchorBorderColor="FF0000" anchorBgColor="FF0000">'; for ($x = 1; $x <= 24; $x++) { $chart .= '<set value="' . $net_volume . '"/>'; } $chart .= '</dataset> <styles> <definition> <style name="Anim1" type="animation" param="_xscale" start="0" duration="1"/> <style name="Anim2" type="animation" param="_alpha" start="0" duration="0.6"/> <style name="DataShadow" type="Shadow" alpha="40"/> </definition> <application> <apply toObject="DIVLINES" styles="Anim1"/> <apply toObject="HGRID" styles="Anim2"/> <apply toObject="DATALABELS" styles="DataShadow,Anim2"/> </application> </styles> </chart> '; echo $chart; }