public function get_facility_stock_details($facility_code)
 {
     $facility_name = Facilities::get_facility_name($facility_code);
     $msg = "Stock levels for :" . $facility_name['facility_name'] . " as of " . date("d M, Y");
     $data['msg'] = $msg;
     $data['facility_order'] = Facility_Transaction_Table::get_all($facility_code);
     $data['content_view'] = "district/district_report/facility_stock_level_v";
     $data['quick_link'] = "actions";
     $data['banner_text'] = "Stock Level";
     $data['title'] = "Stock Level ";
     $this->load->view("template", $data);
 }
 public function createrhreport($facility)
 {
     $rhtable = '';
     $items = Facility_Transaction_Table::get_commodities_for_ordering_report($facility, 3);
     if ($items) {
         foreach ($items as $key => $value) {
             $coloring = '';
             $negative = '';
             if ($value['adjustmentnve'] < 0) {
                 $coloring = 'style = "color: red"';
                 $number = explode('-', $value['adjustmentnve']);
                 $negative = $number[1];
             } else {
                 if ($value['adjustmentnve'] == 0) {
                     $coloring = 'style = "color: red"';
                     $negative = 0;
                 } else {
                     $negative = $value['adjustmentnve'];
                 }
             }
             $rhtable .= '<tr>';
             $rhtable .= '<td>' . $value['commodity_name'] . '</td>';
             $rhtable .= '<td>' . $value['unit_size'] . '</td>';
             $rhtable .= '<td>' . $value['unit_cost'] . '</td>';
             $rhtable .= '<td>' . $value['opening_balance'] . '</td>';
             $rhtable .= '<td>' . $value['total_receipts'] . '</td>';
             $rhtable .= '<td>' . $value['total_issues'] . '</td>';
             $rhtable .= '<td ' . $coloring . '>' . $negative . '</td>';
             $rhtable .= '<td>' . $value['adjustmentpve'] . '</td>';
             $rhtable .= '<td>' . $value['losses'] . '</td>';
             $rhtable .= '<td>' . $value['days_out_of_stock'] . '</td>';
             $rhtable .= '<td>' . $value['closing_stock'] . '</td>';
             $rhtable .= '</tr>';
         }
     }
     return $rhtable;
 }
Example #3
0
 public function facility_order_($facility_code = null)
 {
     // hack to ensure that when you are ordering for a facility that is not using hcmp they have all the items
     $checker = $this->session->userdata('facility_id') ? null : 1;
     if (isset($_FILES['file']) && $_FILES['file']['size'] > 0) {
         $more_data = $this->hcmp_functions->kemsa_excel_order_uploader($_FILES["file"]["tmp_name"]);
         $data['order_details'] = $data['facility_order'] = $more_data['row_data'];
         $facility_data = Facilities::get_facility_name($more_data['facility_code'])->toArray();
         $facility_code = $facility_data[0]['facility_code'];
         if (count($facility_data) == 0) {
             $this->session->set_flashdata('system_error_message', "Kindly upload a file with correct facility MFL code ");
             redirect("reports/order_listing/subcounty");
         }
         if ($facility_data[0]['using_hcmp'] == 1) {
             //$this -> session -> set_flashdata('system_error_message', "You cannot order for a" . " facility that is already using HCMP, they need to place their order using their accounts");
             //redirect("reports/order_listing/subcounty");
         }
     } else {
         $data['order_details'] = $data['facility_order'] = Facility_Transaction_Table::get_commodities_for_ordering($facility_code, $checker);
         $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['system_error_message'] = "You are ordering for " . $facility_data[0]['facility_name'];
     $data['facility_code'] = $facility_code;
     $data['banner_text'] = "Facility New Order";
     $data['drawing_rights'] = $facility_data[0]['drawing_rights'];
     $data['facility_commodity_list'] = Commodities::get_all_from_supllier(1);
     $this->load->view('shared_files/template/template', $data);
 }
Example #4
0
 public function update_facility_transaction_t()
 {
     $update_array = $_POST['data_array'];
     $facilityCode = $facility_c = $this->session->userdata('news');
     $facility_has_commodity = Facility_Transaction_Table::get_if_drug_is_in_table($facilityCode, $update_array);
     if ($facility_has_commodity > 0) {
     } else {
         $data1 = array('Facility_Code' => $facilityCode, 'Kemsa_Code' => $update_array, 'Cycle_date' => '0000-00-11');
         $o = new Facility_Transaction_Table();
         $o->fromArray($data1);
         $o->save();
     }
     echo 'success';
 }
Example #5
0
 public function donation()
 {
     $facility_c = $this->session->userdata('news');
     $usernow = $this->session->userdata('identity');
     $kemsa_code = $_POST['drug_id'];
     $expiry_date = $_POST['expiry_date'];
     $batch_no = $_POST['batchNo'];
     $manuf = $_POST['manuf'];
     $a_stock = $_POST['qreceived'];
     $source = $_POST['source'];
     $count = count($kemsa_code);
     $orderDate = date('y-m-d H:i:s');
     for ($i = 0; $i <= $count; $i++) {
         if (isset($kemsa_code[$i]) && $kemsa_code[$i] != '') {
             $mydata = array('facility_code' => $facility_c, 'kemsa_code' => $kemsa_code[$i], 'batch_no' => $batch_no[$i], 'manufacture' => $manuf[$i], 'expiry_date' => date('y-m-d', strtotime($expiry_date[$i])), 'balance' => $a_stock[$i], 'quantity' => $a_stock[$i], 'stock_date' => $orderDate, 'sheet_no' => $source[$i], 'source' => $source[$i]);
             ////get the current balance of the same commodity before adding new stock level
             $current_bal = Facility_Stock::getAll($kemsa_code[$i], $facility_c);
             ///updating the facility stock with the new data from the donation
             Facility_Stock::update_facility_stock($mydata);
             //adding data to issues table
             $mydata = array('facility_code' => $facility_c, 'kemsa_code' => $kemsa_code[$i], 's11_No' => "(+ve Adj) Stock Addition", 'batch_no' => $batch_no[$i], 'expiry_date' => date('y-m-d', strtotime($expiry_date[$i])), 'qty_issued' => 0, 'balanceAsof' => $current_bal[0]['total_balance'], 'receipts' => $a_stock[$i], 'date_issued' => date('y-m-d'), 'issued_to' => "Source :" . $source[$i], 'issued_by' => $usernow);
             $u = new Facility_Issues();
             $u->fromArray($mydata);
             $u->save();
         }
     }
     //getting facility regarding the stocks added above ^
     $data = Facility_Stock::count_facility_stock($facility_c, $orderDate);
     foreach ($data as $infor) {
         $qty = $infor->quantity1;
         $kemsa_code_ = $infor->kemsa_code;
         $facility_has_commodity = Facility_Transaction_Table::get_if_drug_is_in_table($facility_c, $kemsa_code_);
         if ($facility_has_commodity > 0) {
             $inserttransaction_1 = Doctrine_Manager::getInstance()->getCurrentConnection()->fetchAll("select  `adj` from `facility_transaction_table`\n                                          WHERE `kemsa_code`= '{$kemsa_code_}' and availability='1' and facility_code={$facility_c}; ");
             $new_value = $inserttransaction_1[0]['adj'] + $qty;
             $inserttransaction = Doctrine_Manager::getInstance()->getCurrentConnection();
             $inserttransaction->execute("UPDATE `facility_transaction_table` SET adj ={$new_value}\n                                          WHERE `kemsa_code`= '{$kemsa_code_}' and availability='1' and facility_code={$facility_c}; ");
             $inserttransaction1 = Doctrine_Manager::getInstance()->getCurrentConnection();
             $inserttransaction1->execute("UPDATE `facility_transaction_table` SET closing_stock = (SELECT SUM(balance)\n\t\t\t FROM facility_stock WHERE kemsa_code = '{$kemsa_code_}' and status='1' and facility_code='{$facility_c}')\n                                          WHERE `kemsa_code`= '{$kemsa_code_}' and availability='1' and facility_code ='{$facility_c}'; ");
         } else {
             $mydata2 = array('Facility_Code' => $facility_c, 'Kemsa_Code' => $kemsa_code_, 'Opening_Balance' => 0, 'Total_Issues' => 0, 'Total_Receipts' => 0, 'Adj' => $qty, 'Closing_Stock' => $qty, 'availability' => 1);
             Facility_Transaction_Table::update_facility_table($mydata2);
         }
     }
     $this->send_stock_update_sms();
     $this->session->set_flashdata('system_success_message', "You have received {$count} item(s)");
     redirect('issues_main');
 }
 public function stock_level($msg = Null)
 {
     $facility_c = $this->session->userdata('news');
     $checker = $this->uri->segment(3);
     $data['title'] = "Stock";
     $data['content_view'] = "facility/facility_data/stock_level_v";
     $data['banner_text'] = "Physical Stock";
     $data['link'] = "order_management";
     if (isset($msg)) {
         $data['msg'] = $msg;
         $data['update'] = 'update stock levels';
     }
     if ($msg == NULL) {
         $data['update'] = NULL;
         $data['msg'] = " ";
         $data['checker'] = "no_order";
     }
     if ($checker == "v") {
         $data['msg'] = "Verify that the system stock levels are the same as your physical stock count";
         $data['update'] = 'update stock levels';
     }
     if ($msg == 'c0N123') {
         $data['update'] = NULL;
         $data['msg'] = "Please confirm your stock details before placing your order";
     }
     $data['facility_order'] = Facility_Transaction_Table::get_all($facility_c);
     $data['max_date'] = Facility_Stock::get_max_date($facility_c)->toArray();
     $data['name_of_person'] = Facility_Issues::get_last_person_who_issues($facility_c);
     //$data['quick_link'] = "stock_level";
     $this->load->view("template", $data);
 }