Beispiel #1
0
 function save_disposal_plan()
 {
     $segment = $this->uri->segment(3);
     $post = $_POST;
     switch ($segment) {
         case 'update':
             # code...
             $id = $this->uri->segment(4);
             $result = $this->disposal->update_disposal_plan($post, $id);
             redirect('disposal/view_disposal_plan/m/usave');
             #print_r($result);
             break;
         case 'insert':
             #SETTING UP SOME ISSUES
             #first save disposal plan and get the insert id
             $insertid = $this->disposal->save_disposal_plan($post);
             #Upload allowed xsl
             $this->session->set_userdata('local_allowed_extensions', array('.xls', '.xlsx'));
             $extramsg = "";
             $MAX_FILE_SIZE = 1000000;
             $MAX_FILE_ROWS = 1000;
             #detailed plan as well
             if (!empty($_FILES['detailed_plan']['name'])) {
                 $new_plan_name = 'disposalplan' . 'Upload_' . strtotime('now') . generate_random_letter();
                 $_POST['disposalplan'] = !empty($_FILES['detailed_plan']['name']) ? $this->sysfile->local_file_upload($_FILES['detailed_plan'], $new_plan_name, 'documents', 'filename') : '';
             }
             if (!empty($_POST['disposalplan'])) {
                 $file_url = UPLOAD_DIRECTORY . "documents/" . $_POST['disposalplan'];
                 #   exit($file_url);
                 $file_size = filesize($file_url);
                 #Break up file if it is bigger than allowed
                 if ($file_size > $MAX_FILE_SIZE) {
                     $data['file_siblings'] = $this->sysfile->break_up_file($file_url, $MAX_FILE_ROWS);
                     $this->session->set_userdata('file_siblings', $data['file_siblings']);
                     $msg = "WARNING: The uploaded file exceeded single processing requirements and was <br>broken up into " . count($data['file_siblings']) . " files. <br><br>Please click on each file, one at a time, to update the procurement plan and <br><a href='" . base_url() . "grades/manage_grades' class='bluelink' style='font-size:17px;'>click here</a> to refresh.";
                     print_r($msg);
                 } else {
                     $result_array = read_excel_data($file_url);
                     #print_r($result_array); exit();
                     #Remove file after upload
                     @unlink($file_url);
                     if (count($result_array)) {
                         #1. format insert string
                         #2. sheet 1 is supplies
                         if (!empty($result_array['Disposal']) && count($result_array['Disposal']) > 1) {
                             #$project_plan = $this->procurement_plan_entry_m->create_bulk($plan_data);
                             $sheet_info = $result_array['Disposal'];
                             $x = 0;
                             #exit("movest 11");
                             foreach ($sheet_info as $key => $value) {
                                 $x++;
                                 if ($x <= 5) {
                                     continue;
                                 }
                                 $disposal_serial_number = '';
                                 $subject_of_disposal = '';
                                 $method_of_disposal = '';
                                 $asset_location = '';
                                 $amount = '';
                                 $currency = '';
                                 $strategic_asset = '';
                                 $date_of_approval = '';
                                 $date_of_aoapproval = '';
                                 // information
                                 $disposal_serial_number = $value['C'];
                                 if ($disposal_serial_number == '') {
                                     continue;
                                 }
                                 $subject_of_disposal = $value['B'];
                                 $method_of_disposal = $value['F'];
                                 $asset_location = $value['G'];
                                 $amount = $value['D'];
                                 $currency = $value['E'];
                                 $strategic_asset = $value['H'];
                                 $date_of_approval = $value['I'];
                                 $date_of_aoapproval = $value['J'];
                                 $_POST['disposal_plan'] = $insertid;
                                 $_POST['disposal_serial_number'] = $disposal_serial_number;
                                 $_POST['subject_of_disposal'] = $subject_of_disposal;
                                 #print_r($method_of_disposal);
                                 $record = $this->db->query(" SELECT * FROM `disposal_method` WHERE `method` LIKE '%" . $method_of_disposal . "%' limit 1 ")->result_array();
                                 $method_ofdisposal = !empty($record[0]) ? $record[0]['id'] : 0;
                                 $q = "select * from  disposal_method where method like '% " . $method_of_disposal . " %' limit 1 ";
                                 print_r($method_ofdisposal);
                                 $_POST['method_of_disposal'] = $method_ofdisposal;
                                 $_POST['asset_location'] = $asset_location;
                                 $_POST['amount'] = $amount;
                                 $_POST['currency'] = $currency;
                                 $_POST['strategic_asset'] = $strategic_asset;
                                 $_POST['date_of_approval'] = $date_of_approval;
                                 $_POST['date_of_aoapproval'] = $date_of_aoapproval;
                                 //call the model and send data to the model ::
                                 $result = $this->disposal->insert_disposal($_POST);
                             }
                         }
                     }
                 }
             }
             if ($insertid > 0) {
                 redirect('disposal/view_disposal_plan/m/usave');
             }
             break;
         default:
             # code...
             break;
     }
 }
Beispiel #2
0
 function save_procurement_plan()
 {
     #check user access
     if (!empty($data['i'])) {
         check_user_access($this, 'edit_procurement_plan', 'redirect');
     } else {
         check_user_access($this, 'create_procurement_plan', 'redirect');
     }
     # Get the passed details into the url data array if any
     $urldata = $this->uri->uri_to_assoc(3, array('m', 'i'));
     # Pick all assigned data
     $data = assign_to_data($urldata);
     //if there is an ajax post
     if ($this->input->post('ajax') || $this->input->post('save_plan')) {
         $data['msg'] = '';
         $this->form_validation->set_rules($this->procurement_plan_m->validate_plan);
         $data['formdata'] = $_POST;
         if ($this->form_validation->run() == FALSE) {
             //if there were errors add them to the errors array
             $data['msg'] .= validation_errors();
         } else {
             // print_array($_POST);
             //ensure that no previous year is entered
             if ($this->input->post('start_year') < 1900) {
                 $data['msg'] = 'ERROR: You can not make a plan for past years';
             } else {
                 $financial_year = trim($this->input->post('start_year')) . '-' . trim($this->input->post('end_year'));
                 //check for duplicity
                 if ($this->session->userdata('isadmin') == 'Y' && !empty($data['i'])) {
                     $plan_info = $this->Query_reader->get_row_as_array('search_table', array('table' => 'procurement_plans', 'limittext' => '', 'orderby' => 'id', 'searchstring' => ' id="' . decryptValue($data['i']) . '" AND isactive="Y"'));
                     $plan_pde = $plan_info['pde_id'];
                 } else {
                     $plan_pde = $this->session->userdata('pdeid');
                 }
                 $similar_plan = $this->db->query($this->Query_reader->get_query_by_code('search_table', array('table' => ' procurement_plans', 'orderby' => '   dateadded', 'limittext' => '', 'searchstring' => ' financial_year = "' . $financial_year . '" AND pde_id = "' . $plan_pde . '" AND isactive="Y"' . (!empty($data['i']) ? ' AND id !="' . decryptValue($data['i']) . '"' : ''))))->result_array();
                 #exit($this->db->last_query());
                 if ($similar_plan) {
                     $data['msg'] = 'ERROR: There is already a plan for the year ' . $financial_year;
                 } elseif ($this->input->post('end_year') != $this->input->post('start_year') + 1) {
                     $data['msg'] = 'ERROR: Invalid end year';
                     //print_array($_POST);
                 } else {
                     $plan_data = array('pde_id' => get_user_info_by_id($this->session->userdata('userid'), 'pde'), 'financial_year' => $financial_year, 'title' => $this->input->post('title'), 'author' => $this->session->userdata('userid'), 'description' => $this->input->post('description'));
                     $this->session->set_userdata('local_allowed_extensions', array('.xls', '.xlsx'));
                     $extramsg = "";
                     $MAX_FILE_SIZE = 1000000;
                     $MAX_FILE_ROWS = 1000;
                     #summarized plan
                     if (!empty($_FILES['summarized_plan']['name'])) {
                         $new_file_name = 'summarizedplan_' . $_POST['start_year'] . '_' . $_POST['end_year'] . '_' . strtotime('now') . generate_random_letter();
                         $plan_data['summarized_plan'] = !empty($_FILES['summarized_plan']['name']) ? $this->sysfile->local_file_upload($_FILES['summarized_plan'], $new_file_name, 'documents/summarizedplans', 'filename') : '';
                     }
                     #detailed plan as well
                     if (!empty($_FILES['detailed_plan']['name'])) {
                         $new_plan_name = 'detailed_plan_' . 'Upload_' . strtotime('now') . generate_random_letter();
                         $_POST['detailed_plan'] = !empty($_FILES['detailed_plan']['name']) ? $this->sysfile->local_file_upload($_FILES['detailed_plan'], $new_plan_name, 'documents', 'filename') : '';
                     }
                     #user is editing
                     if (!empty($_FILES['summarized_plan']['name']) && empty($plan_data['summarized_plan'])) {
                         $data['msg'] = 'ERROR: ' . $this->sysfile->processing_errors;
                     } elseif (!empty($_FILES['detailed_plan']['name']) && empty($_POST['detailed_plan'])) {
                         $data['msg'] = 'ERROR: ' . $this->sysfile->processing_errors;
                     } elseif (!empty($data['i'])) {
                         $project_plan = decryptValue($data['i']);
                         $result = $this->procurement_plan_m->update($project_plan, $plan_data);
                         $result = decryptValue($data['i']);
                     } else {
                         $project_plan = $this->procurement_plan_m->create($plan_data);
                         $result = $project_plan;
                     }
                     if (!empty($result) && $result) {
                         if (!empty($_POST['detailed_plan'])) {
                             $file_url = UPLOAD_DIRECTORY . "documents/" . $_POST['detailed_plan'];
                             $file_size = filesize($file_url);
                             #Break up file if it is bigger than allowed
                             if ($file_size > $MAX_FILE_SIZE) {
                                 $data['file_siblings'] = $this->sysfile->break_up_file($file_url, $MAX_FILE_ROWS);
                                 $this->session->set_userdata('file_siblings', $data['file_siblings']);
                                 $msg = "WARNING: The uploaded file exceeded single processing requirements and was <br>broken up into " . count($data['file_siblings']) . " files. <br><br>Please click on each file, one at a time, to update the procurement plan and <br><a href='" . base_url() . "grades/manage_grades' class='bluelink' style='font-size:17px;'>click here</a> to refresh.";
                             } else {
                                 $result_array = read_excel_data($file_url);
                                 #Remove file after upload
                                 @unlink($file_url);
                                 if (count($result_array)) {
                                     #1. format insert string
                                     #2. sheet 1 is supplies
                                     if (!empty($result_array['Supplies']) && count($result_array['Supplies']) > 9) {
                                         #$project_plan = $this->procurement_plan_entry_m->create_bulk($plan_data);
                                         $sheet_info = $result_array['Supplies'];
                                         $supplies_ins_str = '';
                                         $last_proc_ref_no = procurement_plan_ref_number_hint($this->session->userdata('pdeid'), 1, $financial_year, $project_plan);
                                         $last_proc_ref_no_parts = explode('/', $last_proc_ref_no);
                                         $last_proc_ref_figure = intval(end($last_proc_ref_no_parts));
                                         $rows = array();
                                         $row_ctr = 0;
                                         for ($i = 10; $i < count($sheet_info); $i++) {
                                             if (!empty($sheet_info[$i]['A']) && is_numeric($sheet_info[$i]['A']) && !empty($sheet_info[$i]['C'])) {
                                                 $rows[$row_ctr]['subject_of_procurement'] = $sheet_info[$i]['C'];
                                                 $rows[$row_ctr]['procurement_type'] = 1;
                                                 $rows[$row_ctr]['procurement_method'] = ($sheet_info[$i]['F'] = 'ODB') ? 2 : $sheet_info[$i]['F'];
                                                 $rows[$row_ctr]['pde_department'] = $sheet_info[9]['D'];
                                                 $rows[$row_ctr]['funding_source'] = $sheet_info[9]['E'];
                                                 $rows[$row_ctr]['funder_name'] = $sheet_info[9]['E'];
                                                 $last_proc_ref_no_parts[count($last_proc_ref_no_parts) - 1] = pad_string(++$last_proc_ref_figure, 4);
                                                 $rows[$row_ctr]['procurement_ref_no'] = implode('/', $last_proc_ref_no_parts);
                                                 $rows[$row_ctr]['estimated_amount'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[$i]['D']);
                                                 $rows[$row_ctr]['currency'] = 'usd';
                                                 $rows[$row_ctr]['pre_bid_events_date'] = format_excel_date($sheet_info[$i]['G']);
                                                 $rows[$row_ctr]['pre_bid_events_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['G']);
                                                 $rows[$row_ctr]['contracts_committee_approval_date'] = format_excel_date($sheet_info[$i]['H']);
                                                 $rows[$row_ctr]['contracts_committee_approval_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['H']);
                                                 $rows[$row_ctr]['publication_of_pre_qualification_date'] = format_excel_date($sheet_info[$i]['I']);
                                                 $rows[$row_ctr]['publication_of_pre_qualification_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['I']);
                                                 $rows[$row_ctr]['proposal_submission_date'] = format_excel_date($sheet_info[$i]['J']);
                                                 $rows[$row_ctr]['proposal_submission_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['J']);
                                                 $rows[$row_ctr]['contracts_committee_approval_of_shortlist_date'] = format_excel_date($sheet_info[$i]['L']);
                                                 $rows[$row_ctr]['contracts_committee_approval_of_shortlist_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['L']);
                                                 $rows[$row_ctr]['bid_issue_date'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['bid_issue_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['N']);
                                                 $rows[$row_ctr]['bid_submission_opening_date'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['bid_submission_opening_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['N']);
                                                 $rows[$row_ctr]['secure_necessary_approval_date'] = '';
                                                 $rows[$row_ctr]['secure_necessary_approval_date_duration'] = '';
                                                 $rows[$row_ctr]['contract_award'] = format_excel_date($sheet_info[$i]['Y']);
                                                 $rows[$row_ctr]['contract_award_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['Y']);
                                                 $rows[$row_ctr]['best_evaluated_bidder_date'] = format_excel_date($sheet_info[$i]['V']);
                                                 $rows[$row_ctr]['best_evaluated_bidder_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['V']);
                                                 $rows[$row_ctr]['contract_sign_date'] = format_excel_date($sheet_info[$i]['V']);
                                                 $rows[$row_ctr]['contract_sign_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['V']);
                                                 $rows[$row_ctr]['cc_approval_of_evaluation_report'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['cc_approval_of_evaluation_report_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['N']);
                                                 $rows[$row_ctr]['negotiation_date'] = format_excel_date($sheet_info[$i]['O']);
                                                 $rows[$row_ctr]['negotiation_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['O']);
                                                 $rows[$row_ctr]['negotiation_approval_date'] = format_excel_date($sheet_info[$i]['P']);
                                                 $rows[$row_ctr]['negotiation_approval_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['P']);
                                                 $rows[$row_ctr]['advanced_payment_date'] = '';
                                                 $rows[$row_ctr]['advanced_payment_date_duration'] = '';
                                                 $rows[$row_ctr]['mobilise_advance_payment'] = '';
                                                 $rows[$row_ctr]['mobilise_advance_payment_duration'] = '';
                                                 $rows[$row_ctr]['substantial_completion'] = '';
                                                 $rows[$row_ctr]['substantial_completion_duration'] = '';
                                                 $rows[$row_ctr]['final_acceptance'] = '';
                                                 $rows[$row_ctr]['final_acceptance_duration'] = '';
                                                 $rows[$row_ctr]['procurement_plan_id'] = $project_plan;
                                                 $rows[$row_ctr]['author'] = $this->session->userdata('userid');
                                                 $row_ctr++;
                                             }
                                         }
                                         $this->procurement_plan_entry_m->create_bulk($rows);
                                     }
                                     #3. sheet 2 is works
                                     if (!empty($result_array['Works'])) {
                                         #$project_plan = $this->procurement_plan_m->create_bulk($plan_data);
                                         #$project_plan = $this->procurement_plan_entry_m->create_bulk($plan_data);
                                         $sheet_info = $result_array['Supplies'];
                                         $supplies_ins_str = '';
                                         $last_proc_ref_no = procurement_plan_ref_number_hint($this->session->userdata('pdeid'), 1, $financial_year, $project_plan);
                                         $last_proc_ref_no_parts = explode('/', $last_proc_ref_no);
                                         $last_proc_ref_figure = intval(end($last_proc_ref_no_parts));
                                         $rows = array();
                                         $row_ctr = 0;
                                         for ($i = 7; $i < count($sheet_info); $i++) {
                                             if (!empty($sheet_info[$i]['A']) && is_numeric($sheet_info[$i]['A']) && !empty($sheet_info[$i]['C'])) {
                                                 $rows[$row_ctr]['subject_of_procurement'] = $sheet_info[$i]['C'];
                                                 $rows[$row_ctr]['procurement_type'] = 2;
                                                 $rows[$row_ctr]['procurement_method'] = ($sheet_info[$i]['F'] = 'ODB') ? 2 : $sheet_info[$i]['F'];
                                                 $rows[$row_ctr]['pde_department'] = $sheet_info[9]['D'];
                                                 $rows[$row_ctr]['funding_source'] = $sheet_info[9]['E'];
                                                 $rows[$row_ctr]['funder_name'] = $sheet_info[9]['E'];
                                                 $last_proc_ref_no_parts[count($last_proc_ref_no_parts) - 1] = pad_string(++$last_proc_ref_figure, 4);
                                                 $rows[$row_ctr]['procurement_ref_no'] = implode('/', $last_proc_ref_no_parts);
                                                 $rows[$row_ctr]['estimated_amount'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[$i]['D']);
                                                 $rows[$row_ctr]['currency'] = 'usd';
                                                 $rows[$row_ctr]['pre_bid_events_date'] = format_excel_date($sheet_info[$i]['G']);
                                                 $rows[$row_ctr]['pre_bid_events_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['G']);
                                                 $rows[$row_ctr]['contracts_committee_approval_date'] = format_excel_date($sheet_info[$i]['H']);
                                                 $rows[$row_ctr]['contracts_committee_approval_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['H']);
                                                 $rows[$row_ctr]['publication_of_pre_qualification_date'] = format_excel_date($sheet_info[$i]['I']);
                                                 $rows[$row_ctr]['publication_of_pre_qualification_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['I']);
                                                 $rows[$row_ctr]['proposal_submission_date'] = format_excel_date($sheet_info[$i]['J']);
                                                 $rows[$row_ctr]['proposal_submission_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['J']);
                                                 $rows[$row_ctr]['contracts_committee_approval_of_shortlist_date'] = format_excel_date($sheet_info[$i]['L']);
                                                 $rows[$row_ctr]['contracts_committee_approval_of_shortlist_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['L']);
                                                 $rows[$row_ctr]['bid_issue_date'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['bid_issue_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['N']);
                                                 $rows[$row_ctr]['bid_submission_opening_date'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['bid_submission_opening_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['N']);
                                                 $rows[$row_ctr]['secure_necessary_approval_date'] = '';
                                                 $rows[$row_ctr]['secure_necessary_approval_date_duration'] = '';
                                                 $rows[$row_ctr]['contract_award'] = format_excel_date($sheet_info[$i]['Y']);
                                                 $rows[$row_ctr]['contract_award_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['Y']);
                                                 $rows[$row_ctr]['best_evaluated_bidder_date'] = format_excel_date($sheet_info[$i]['V']);
                                                 $rows[$row_ctr]['best_evaluated_bidder_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['V']);
                                                 $rows[$row_ctr]['contract_sign_date'] = format_excel_date($sheet_info[$i]['V']);
                                                 $rows[$row_ctr]['contract_sign_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['V']);
                                                 $rows[$row_ctr]['cc_approval_of_evaluation_report'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['cc_approval_of_evaluation_report_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['N']);
                                                 $rows[$row_ctr]['negotiation_date'] = format_excel_date($sheet_info[$i]['O']);
                                                 $rows[$row_ctr]['negotiation_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['O']);
                                                 $rows[$row_ctr]['negotiation_approval_date'] = format_excel_date($sheet_info[$i]['P']);
                                                 $rows[$row_ctr]['negotiation_approval_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['P']);
                                                 $rows[$row_ctr]['advanced_payment_date'] = '';
                                                 $rows[$row_ctr]['advanced_payment_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['AC']);
                                                 $rows[$row_ctr]['mobilise_advance_payment'] = format_excel_date($sheet_info[$i]['AA']);
                                                 $rows[$row_ctr]['mobilise_advance_payment_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['AA']);
                                                 $rows[$row_ctr]['substantial_completion'] = format_excel_date($sheet_info[$i]['AB']);
                                                 $rows[$row_ctr]['substantial_completion_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['AB']);
                                                 $rows[$row_ctr]['final_acceptance'] = format_excel_date($sheet_info[$i]['AC']);
                                                 $rows[$row_ctr]['final_acceptance_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['AC']);
                                                 $rows[$row_ctr]['procurement_plan_id'] = $project_plan;
                                                 $rows[$row_ctr]['author'] = $this->session->userdata('userid');
                                                 $row_ctr++;
                                             }
                                         }
                                         $this->procurement_plan_entry_m->create_bulk($rows);
                                     }
                                     #4. sheet 3 is services
                                     if (!empty($result_array['Services'])) {
                                         $sheet_info = $result_array['Services'];
                                         $supplies_ins_str = '';
                                         $last_proc_ref_no = procurement_plan_ref_number_hint($this->session->userdata('pdeid'), 1, $financial_year, $project_plan);
                                         $last_proc_ref_no_parts = explode('/', $last_proc_ref_no);
                                         $last_proc_ref_figure = intval(end($last_proc_ref_no_parts));
                                         $rows = array();
                                         $row_ctr = 0;
                                         for ($i = 8; $i < count($sheet_info); $i++) {
                                             if (!empty($sheet_info[$i]['A']) && is_numeric($sheet_info[$i]['A']) && !empty($sheet_info[$i]['C'])) {
                                                 $rows[$row_ctr]['subject_of_procurement'] = $sheet_info[$i]['C'];
                                                 $rows[$row_ctr]['procurement_type'] = 3;
                                                 $rows[$row_ctr]['procurement_method'] = ($sheet_info[$i]['F'] = 'ODB') ? 2 : $sheet_info[$i]['F'];
                                                 $rows[$row_ctr]['pde_department'] = $sheet_info[9]['D'];
                                                 $rows[$row_ctr]['funding_source'] = $sheet_info[9]['E'];
                                                 $rows[$row_ctr]['funder_name'] = $sheet_info[9]['E'];
                                                 $last_proc_ref_no_parts[count($last_proc_ref_no_parts) - 1] = pad_string(++$last_proc_ref_figure, 4);
                                                 $rows[$row_ctr]['procurement_ref_no'] = implode('/', $last_proc_ref_no_parts);
                                                 $rows[$row_ctr]['estimated_amount'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[$i]['D']);
                                                 $rows[$row_ctr]['currency'] = 'usd';
                                                 $rows[$row_ctr]['pre_bid_events_date'] = format_excel_date($sheet_info[$i]['G']);
                                                 $rows[$row_ctr]['pre_bid_events_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[7]['G']);
                                                 $rows[$row_ctr]['contracts_committee_approval_date'] = format_excel_date($sheet_info[$i]['H']);
                                                 $rows[$row_ctr]['contracts_committee_approval_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['H']);
                                                 $rows[$row_ctr]['publication_of_pre_qualification_date'] = format_excel_date($sheet_info[$i]['I']);
                                                 $rows[$row_ctr]['publication_of_pre_qualification_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['I']);
                                                 $rows[$row_ctr]['proposal_submission_date'] = format_excel_date($sheet_info[$i]['J']);
                                                 $rows[$row_ctr]['proposal_submission_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['J']);
                                                 $rows[$row_ctr]['contracts_committee_approval_of_shortlist_date'] = format_excel_date($sheet_info[$i]['L']);
                                                 $rows[$row_ctr]['contracts_committee_approval_of_shortlist_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['L']);
                                                 $rows[$row_ctr]['bid_issue_date'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['bid_issue_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['N']);
                                                 $rows[$row_ctr]['bid_submission_opening_date'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['bid_submission_opening_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['N']);
                                                 $rows[$row_ctr]['bid_closing_date'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['O']);
                                                 $rows[$row_ctr]['submission_of_evaluation_report_to_cc'] = format_excel_date($sheet_info[$i]['P']);
                                                 $rows[$row_ctr]['submission_of_evaluation_report_to_cc_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['P']);
                                                 $rows[$row_ctr]['secure_necessary_approval_date'] = '';
                                                 $rows[$row_ctr]['secure_necessary_approval_date_duration'] = '';
                                                 $rows[$row_ctr]['contract_award'] = format_excel_date($sheet_info[$i]['X']);
                                                 $rows[$row_ctr]['contract_award_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['X']);
                                                 $rows[$row_ctr]['best_evaluated_bidder_date'] = format_excel_date($sheet_info[$i]['V']);
                                                 $rows[$row_ctr]['best_evaluated_bidder_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['V']);
                                                 $rows[$row_ctr]['contract_sign_date'] = format_excel_date($sheet_info[$i]['Y']);
                                                 $rows[$row_ctr]['contract_sign_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['Y']);
                                                 $rows[$row_ctr]['cc_approval_of_evaluation_report'] = format_excel_date($sheet_info[$i]['N']);
                                                 $rows[$row_ctr]['cc_approval_of_evaluation_report_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['N']);
                                                 $rows[$row_ctr]['contract_amount_in_ugx'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[$i]['U']);
                                                 $rows[$row_ctr]['negotiation_date'] = format_excel_date($sheet_info[$i]['R']);
                                                 $rows[$row_ctr]['negotiation_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['R']);
                                                 $rows[$row_ctr]['negotiation_approval_date'] = format_excel_date($sheet_info[$i]['S']);
                                                 $rows[$row_ctr]['negotiation_approval_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['S']);
                                                 $rows[$row_ctr]['advanced_payment_date'] = format_excel_date($sheet_info[$i]['AA']);
                                                 $rows[$row_ctr]['advanced_payment_date_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['AA']);
                                                 $rows[$row_ctr]['mobilise_advance_payment'] = format_excel_date($sheet_info[$i]['AA']);
                                                 $rows[$row_ctr]['mobilise_advance_payment_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['AA']);
                                                 $rows[$row_ctr]['substantial_completion'] = '';
                                                 $rows[$row_ctr]['substantial_completion_duration'] = '';
                                                 $rows[$row_ctr]['final_acceptance'] = '';
                                                 $rows[$row_ctr]['final_acceptance_duration'] = '';
                                                 $rows[$row_ctr]['procurement_plan_id'] = $project_plan;
                                                 $rows[$row_ctr]['author'] = $this->session->userdata('userid');
                                                 $rows[$row_ctr]['solicitor_general_approval_date'] = format_excel_date($sheet_info[$i]['AA']);
                                                 $rows[$row_ctr]['solicitor_general_approval_duration'] = preg_replace("/[^0-9\\.]/", '', $sheet_info[8]['Y']);
                                                 $row_ctr++;
                                             }
                                         }
                                         $this->procurement_plan_entry_m->create_bulk($rows);
                                     }
                                 }
                             }
                         }
                         //generate notification
                         #$recipients = get_users_by_group(20, get_user_info_by_id($this->session->userdata('userid'), 'pde'));
                         #$message = 'New financial plan <b>' . $this->input->post('title') . '</b> for the year ' . $financial_year . ' had been added by <b>' . get_user_info_by_id($this->session->userdata('userid'), 'fullname') . '</b> on ' . mysqldate();
                         #send_notification($recipients, 'New Annual Procurement Plan Created', 'Annual Plan Creation Alert', $message);
                         $this->session->set_userdata('usave', 'You have successfully created the ' . $financial_year . ' procurement plan');
                         redirect("procurement/page/m/usave");
                     } elseif (empty($data['msg'])) {
                         $data['msg'] = 'ERROR: Plan was not created. Please try again';
                         //echo $this->db->_error_message();
                     }
                     //===================================================================================
                 }
             }
         }
     }
     $data['page_title'] = (!empty($data['i']) ? 'Edit ' : ' New ') . get_pde_info_by_id(get_user_info_by_id($this->session->userdata('userid'), 'pde'), 'title') . ' Procurement plan';
     $data['current_menu'] = 'create_procurement_plan';
     $data['pde_title'] = get_pde_info_by_id(get_user_info_by_id($this->session->userdata('userid'), 'pde'), 'title');
     $data['pde_id'] = get_user_info_by_id($this->session->userdata('userid'), 'pde');
     $data['view_to_load'] = 'procurement/admin/new_plan_v';
     $data['view_data']['form_title'] = $data['page_title'];
     $this->load->view('dashboard_v', $data);
 }