Example #1
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');
 }
Example #2
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';
 }
 public function add_stock_level()
 {
     $facility_c = $this->session->userdata('news');
     $kemsa_code = $_POST['drug_id'];
     $expiry_date = $_POST['expiry_date'];
     $batch_no = $_POST['batchNo'];
     $manuf = $_POST['manuf'];
     $a_stock = $_POST['qreceived'];
     $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);
             Facility_Stock::update_facility_stock($mydata);
             $kemsa_code_ = $kemsa_code[$i];
             $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 `opening_balance` from `facility_transaction_table`\n                                          WHERE `kemsa_code`= '{$kemsa_code_}' and availability='1' and facility_code={$facility_c}; ");
                 $new_value = $inserttransaction_1[0]['opening_balance'] + $a_stock[$i];
                 $inserttransaction = Doctrine_Manager::getInstance()->getCurrentConnection();
                 $inserttransaction->execute("UPDATE `facility_transaction_table` SET `opening_balance` ={$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 availability='1' and facility_code='{$facility_c}')\n             WHERE `kemsa_code`= '{$kemsa_code_}' and availability='1' and facility_code ='{$facility_c}'; ");
                 $facility_stock = Facility_Stock::get_facility_drug_total($facility_c, $kemsa_code_)->toArray();
                 $mydata = array('facility_code' => $facility_c, 's11_No' => 'Update Stock Level', 'kemsa_code' => $kemsa_code[$i], 'receipts' => $a_stock[$i], 'batch_no' => $batch_no[$i], 'expiry_date' => date('y-m-d ,', strtotime($expiry_date[$i])), 'balanceAsof' => $facility_stock[0]['balance'], 'date_issued' => date('y-m-d'), 'issued_to' => 'N/A', 'issued_by' => $this->session->userdata('identity'));
                 Facility_Issues::update_issues_table($mydata);
             } else {
                 $mydata3 = array('facility_code' => $facility_c, 's11_No' => 'Physical Stock Count', 'kemsa_code' => $kemsa_code_, 'batch_no' => $batch_no[$i], 'expiry_date' => date('y-m-d ,', strtotime($expiry_date[$i])), 'qty_issued' => 0, 'balanceAsof' => $a_stock[$i], 'date_issued' => date('y-m-d'), 'issued_to' => 'N/A', 'issued_by' => $this->session->userdata('identity'));
                 Facility_Issues::update_issues_table($mydata3);
                 $mydata2 = array('Facility_Code' => $facility_c, 'Kemsa_Code' => $kemsa_code_, 'Opening_Balance' => $a_stock[$i], 'Total_Issues' => 0, 'Total_Receipts' => 0, 'Adj' => 0, 'Closing_Stock' => $a_stock[$i], 'availability' => 1);
                 Facility_Transaction_Table::update_facility_table($mydata2);
             }
         }
     }
     Update_stock_first_temp::delete_facility_temp(NULL, $facility_c);
     //test
     //////////////////////////////////////////////////////////////////////////////////////////
     $this->send_stock_update_sms();
     $this->session->set_flashdata('system_success_message', "Stock Levels Have Been Updated");
     redirect('stock_management/stock_level');
     ////////////////////////////////////////////////////////////////////////////////////////
 }