public function facility_order($source = NULL, $facility_code = null) { header('Content-Type: text/html; charset=UTF-8'); //pick the facility code from the session as it is set if (!isset($facility_code)) { $facility_code = $this->session->userdata('facility_id'); $data['other_facility_code'] = $facility_code; } $amc_calc = $this->amc($county, $district, $facility_code); //echo '<pre>'; print_r($amc_calc);echo '<pre>'; exit; $items = isset($source) && $source == 2 ? Facility_Transaction_Table::get_commodities_for_ordering_meds($facility_code, $source) : Facility_Transaction_Table::get_commodities_for_ordering($facility_code); // echo '<pre>'; print_r($items);echo '<pre>'; exit; if (isset($_FILES['file']) && $_FILES['file']['size'] > 0) { $ext = pathinfo($_FILES["file"]['name'], PATHINFO_EXTENSION); //echo $ext;exit; //echo $_FILES["file"]["tmp_name"];exit; if ($ext == 'xls') { $excel2 = PHPExcel_IOFactory::createReader('Excel5'); } else { if ($ext == 'xlsx') { $excel2 = PHPExcel_IOFactory::createReader('Excel2007'); } else { die('Invalid file format given' . $_FILES['file']); } } $excel2 = $objPHPExcel = $excel2->load($_FILES["file"]["tmp_name"]); // Empty Sheet $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $temp = array(); if ($sheet->getCell('H4')->getValue() != '') { $facility_code = $sheet->getCell('H4')->getValue(); } else { $facility_code = $sheet->getCell('J4')->getValue(); } $checker = $sheet->getCell('E17')->getValue(); // Loop through each row of the worksheet in turn $array_code = array(); $array_commodity = array(); $array_category = array(); $array_pack = array(); $array_price = array(); $array_order_qty = array(); $array_order_val = array(); //$array_code=array(); for ($row = 17; $row <= $highestRow; $row++) { // Read a row of data into an array $rowData = $objPHPExcel->getActiveSheet()->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); if ($checker == '#REF!' || $checker == '=VLOOKUP(C17,#REF!,1,FALSE)') { unset($rowData[0][4]); unset($rowData[0][5]); foreach ($rowData as $key => $value) { unset($rowData); $rowData[] = array_values($value); } } //count($rowData); $code = preg_replace('/\\s+/ ', '', $rowData[0][2]); $code = str_replace('-', '', $code); $array_index[] = $rowData[0][1] - 1; $array_code[] = $code; $array_commodity[] = $rowData[0][3]; $array_category[] = $rowData[0][4]; $array_price[] = $rowData[0][6]; $array_order_qty[] = (int) $rowData[0][7]; $array_order_val[] = $rowData[0][8]; $array_pack[] = $rowData[0][5]; } // echo '<pre>'; print_r($array_order_qty);echo '<pre>'; exit; foreach ($array_order_qty as $id => $key) { array_push($temp, array('sub_category_name' => $array_category[$id], 'commodity_name' => $array_commodity[$id], 'unit_size' => $array_pack[$id], 'unit_cost' => $array_price[$id] == '' ? 0 : (double) $array_price[$id], 'commodity_code' => preg_replace('/[\\x00-\\x1F\\x80-\\xFF]/', '', $array_code[$id]), 'commodity_id' => $data['commodity_id'], 'quantity_ordered' => $array_order_qty[$id] == '' ? 0 : (int) $array_order_qty[$id], 'total_commodity_units' => 0, 'opening_balance' => 0, 'total_receipts' => 0, 'total_issues' => 0, 'comment' => '', 'closing_stock_' => 0, 'closing_stock' => 0, 'days_out_of_stock' => 0, 'date_added' => '', 'losses' => 0, 'status' => 0, 'adjustmentpve' => 0, 'adjustmentnve' => 0, 'historical' => 0)); } foreach ($temp as $key => $value) { if ($value['commodity_code'] == "" || $value['quantity_ordered'] == 0) { unset($temp[$key]); } } $array_id = array(); $array_codes = array(); $main_array = array(); $weka = array(); $k = 0; // echo "<pre>";print_r($temp);echo "</pre>";exit; foreach ($temp as $keys) { $kemsa = $keys['commodity_code']; $kemsa = preg_replace('/[\\x00-\\x1F\\x80-\\xFF]/', '', $kemsa); $unit_cost = (int) $keys['unit_cost']; //echo $unit_cost.'-'.$k++;echo '<pre>'; $get_id = Commodities::get_id($kemsa, $unit_cost); //print_r( $get_id.$k++);echo '<pre>'; $weka[] = $get_id; $array_codes[] = $kemsa; $main_array[] = $keys; foreach ($get_id as $key2) { $array_id[] = $key2['id']; $array_total_units[] = $key2['total_commodity_units']; //echo '<pre>'; print_r($key2.'-'.$k++);echo '<pre>'; } } //exit; $array_combined = array(); $id_count = count($main_array); // echo '<pre>'; print_r($id_count);echo '<pre>'; exit; for ($i = 1; $i < $id_count; $i++) { $main_array[$i]['commodity_id'] = $array_id[$i]; $main_array[$i]['total_commodity_units'] = $array_total_units[$i]; } $data['order_details'] = $data['facility_order'] = $main_array; } else { //create new array to hold pushed amc values $new = array(); foreach ($items as $value) { $drud_id = $value['commodity_id']; $historical = $value['historical']; for ($i = 0; $i < count($items); $i++) { if ($drud_id == $amc_calc[$i]['commodity_id']) { $historical = $amc_calc[$i]['amc_packs']; } } $unit_size = $value['unit_size']; $commodity_name = $value['commodity_name'] . ' (' . $unit_size . ')'; array_push($new, array('sub_category_name' => $value['sub_category_name'], 'commodity_name' => $commodity_name, 'unit_size' => $unit_size, 'unit_cost' => $value['unit_cost'], 'commodity_code' => $value['commodity_code'], 'commodity_id' => $value['commodity_id'], 'quantity_ordered' => $value['quantity_ordered'], 'total_commodity_units' => $value['total_commodity_units'], 'opening_balance' => $value['opening_balance'], 'total_receipts' => $value['total_receipts'], 'total_issues' => $value['total_issues'], 'comment' => $value['comment'], 'closing_stock_' => $value['closing_stock_'], 'closing_stock' => $value['closing_stock'], 'days_out_of_stock' => $value['days_out_of_stock'], 'date_added' => $value['date_added'], 'losses' => $value['losses'], 'status' => $value['status'], 'adjustmentpve' => $value['adjustmentpve'], 'adjustmentnve' => $value['adjustmentnve'], 'historical' => round($historical))); // array_push($new, array('sub_category_name' => $value['sub_category_name'], 'commodity_name' => $value['commodity_name'], 'unit_size' => $value['unit_size'], 'unit_cost' => $value['unit_cost'], 'commodity_code' => $value['commodity_code'], 'commodity_id' => $value['commodity_id'], 'quantity_ordered' => $value['quantity_ordered'], 'total_commodity_units' => $value['total_commodity_units'], 'opening_balance' => $value['opening_balance'], 'total_receipts' => $value['total_receipts'], 'total_issues' => $value['total_issues'], 'comment' => $value['comment'], 'closing_stock_' => $value['closing_stock_'], 'closing_stock' => $value['closing_stock'], 'days_out_of_stock' => $value['days_out_of_stock'], 'date_added' => $value['date_added'], 'losses' => $value['losses'], 'status' => $value['status'], 'adjustmentpve' => $value['adjustmentpve'], 'adjustmentnve' => $value['adjustmentnve'], 'historical' => round($historical))); } $items = $new; $data['order_details'] = $data['facility_order'] = $items; } // $data['facility_order'] = $items; // echo '<pre>'; print_r($items);echo '<pre>'; exit; // $facility_code = $this -> session -> userdata('facility_id'); $facility_data = Facilities::get_facility_name_($facility_code); // echo "<pre>";print_r($facility_data); $source_name = $source == 2 ? 'MEDS' : 'KEMSA'; $data['content_view'] = $source == 2 ? "facility/facility_orders/facility_order_meds_new" : "facility/facility_orders/facility_order_from_kemsa_v"; $data['facility_code'] = $facility_code; $data['title'] = "Facility New Order"; $data['banner_text'] = "Facility New Order " . $source_name; $data['drawing_rights'] = $facility_data[0]['drawing_rights']; $data['facility_commodity_list'] = $source == 2 ? Commodities::get_meds_commodities_not_in_facility($facility_code, $source) : Commodities::get_commodities_not_in_facility($facility_code); // echo '<pre>'; print_r($data['facility_commodity_list']);echo '<pre>'; exit; $this->load->view('shared_files/template/template', $data); }
public function facility_order() { //$this -> load -> library('PHPExcel'); //ini_set("max_execution_time", "1000000"); $facility_code = $this->session->userdata('facility_id'); $items = Facility_Transaction_Table::get_commodities_for_ordering($facility_code); if (isset($_FILES['file']) && $_FILES['file']['size'] > 0) { $ext = pathinfo($_FILES["file"]['name'], PATHINFO_EXTENSION); //echo $ext; if ($ext == 'xls') { $excel2 = PHPExcel_IOFactory::createReader('Excel5'); } else { if ($ext == 'xlsx') { $excel2 = PHPExcel_IOFactory::createReader('Excel2007'); } else { die('Invalid file format given' . $_FILES['file']); } } $excel2 = $objPHPExcel = $excel2->load($_FILES["file"]["tmp_name"]); // Empty Sheet $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $temp = array(); $facility_code = $sheet->getCell('H4')->getValue(); // Loop through each row of the worksheet in turn $array_code = array(); $array_commodity = array(); $array_category = array(); $array_pack = array(); $array_price = array(); $array_order_qty = array(); $array_order_val = array(); $array_index = array(); //$array_code=array(); for ($row = 17; $row <= $highestRow; $row++) { // Read a row of data into an array $rowData = $objPHPExcel->getActiveSheet()->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); //var_dump($rowData); //count($rowData); $array_index[] = $rowData[0][1]; $array_code[] = $rowData[0][2]; $array_commodity[] = $rowData[0][3]; $array_category[] = $rowData[0][4]; $array_price[] = $rowData[0][6]; $array_order_qty[] = (int) $rowData[0][7]; $array_order_val[] = $rowData[0][8]; $array_pack[] = $rowData[0][5]; //if(isset($rowData[0][2]) && $rowData[0][2]!='Product Code'){ //echo '<pre>';print_r($rowData[0][7]); echo '</pre>'; //foreach($items as $key=> $data){ //echo '<pre>';print_r($rowData); echo '</pre>'; //} //} } foreach ($array_index as $id => $key) { //foreach($items as $key=> $data){ array_push($temp, array('sub_category_name' => $array_category[$key], 'commodity_name' => $array_commodity[$key], 'unit_size' => $array_pack[$key], 'unit_cost' => $array_price[$key], 'commodity_code' => $array_code[$key], 'commodity_id' => $data['commodity_id'], 'quantity_ordered' => $array_order_qty[$key] == '' ? 0 : (int) $array_order_qty[$key], 'total_commodity_units' => $array_price[$key] * (int) $array_order_qty[$key], 'opening_balance' => 0, 'total_receipts' => 0, 'total_issues' => 0, 'comment' => '', 'closing_stock_' => 0, 'closing_stock' => 0, 'days_out_of_stock' => 0, 'date_added' => '', 'losses' => 0, 'status' => 0, 'adjustmentpve' => 0, 'adjustmentnve' => 0, 'historical' => 0)); //unset($items[$key]); // } } foreach ($temp as $key => $value) { //echo '<pre>';print_r($value['commodity_code']); echo '</pre>'; if ($value['commodity_code'] == "" || $value['quantity_ordered'] == "") { unset($temp[$key]); } } //$c = array_combine($array_code, $array_commodity); echo '<pre>'; print_r($temp); echo '</pre>'; //var_dump(); exit; //unset($objPHPExcel); $data['order_details'] = $data['facility_order'] = $temp; } else { $data['order_details'] = $data['facility_order'] = $items; } //var_dump($temp);exit; $facility_code = $this->session->userdata('facility_id'); $facility_data = Facilities::get_facility_name_($facility_code)->toArray(); $data['content_view'] = "facility/facility_orders/facility_order_from_kemsa_v"; $data['title'] = "Facility New Order"; $data['banner_text'] = "Facility New Order"; $data['drawing_rights'] = $facility_data[0]['drawing_rights']; $data['facility_commodity_list'] = Commodities::get_commodities_not_in_facility($facility_code); $this->load->view('shared_files/template/template', $data); }