public function internal_issue() { //security check if ($this->input->post('service_point')) { $facility_code = $this->session->userdata('facility_id'); $service_points = array_values($this->input->post('service_point')); $commodity_id = array_values($this->input->post('desc')); $commodity_balance_before = array_values($this->input->post('commodity_balance')); $facility_stock_id = array_values($this->input->post('facility_stock_id')); $batch_no = array_values($this->input->post('batch_no')); $expiry_date = array_values($this->input->post('expiry_date')); $commodity_unit_of_issue = array_values($this->input->post('commodity_unit_of_issue')); $quantity_issued = array_values($this->input->post('quantity_issued')); $clone_datepicker_normal_limit_today = array_values($this->input->post('clone_datepicker_normal_limit_today')); $total_units = array_values($this->input->post('total_units')); $total_items = count($facility_stock_id); print_r($total_units); for ($i = 0; $i < $total_items; $i++) { //compute the actual stock $total_items_issues = $commodity_unit_of_issue[$i] == 'Pack_Size' ? $quantity_issued[$i] * $total_units[$i] : $quantity_issued[$i]; //prepare the issues data $mydata = array('facility_code' => $facility_code, 's11_No' => 'internal issue', 'batch_no' => $batch_no[$i], 'commodity_id' => $commodity_id[$i], 'expiry_date' => date('y-m-d', strtotime($expiry_date[$i])), 'qty_issued' => $total_items_issues, 'issued_to' => $service_points[$i], 'balance_as_of' => $commodity_balance_before[$i], 'date_issued' => date('y-m-d', strtotime($clone_datepicker_normal_limit_today[$i])), 'issued_by' => $this->session->userdata('user_id')); // update the issues table facility_issues::update_issues_table($mydata); // reduce the stock levels $a = Doctrine_Manager::getInstance()->getCurrentConnection(); $a->execute("UPDATE `facility_stocks` SET `current_balance` = `current_balance`-{$total_items_issues} where id='{$facility_stock_id[$i]}'"); //update the transaction table here $inserttransaction = Doctrine_Manager::getInstance()->getCurrentConnection(); $inserttransaction->execute(" UPDATE `facility_transaction_table` SET `total_issues` = `total_issues`+{$total_items_issues},\n\t\t\t`closing_stock`=`closing_stock`-{$total_items_issues}\n WHERE `commodity_id`= '{$commodity_id[$i]}' and status='1' and facility_code='{$facility_code}';"); } //$user = $this -> session -> userdata('user_id'); //$user_action = "issue"; //Log::log_user_action($user, $user_action); $this->session->set_flashdata('system_success_message', "You have issued {$total_items} item(s)"); redirect(home); } redirect(home); }
public function edit_facility_stock_data() { //security check if ($this->input->post('id')) { $facility_code = $this->session->userdata('facility_id'); $stock_id = $this->input->post('id'); $expiry_date = $this->input->post('expiry_date'); $batch_no = $this->input->post('batch_no'); $delete = $this->input->post('edit'); $manufacturer = $this->input->post('manufacturer'); $commodity_id = $this->input->post('commodity_id'); $commodity_balance_units = $this->input->post('commodity_balance_units'); for ($key = 0; $key < count($stock_id); $key++) { if ($delete[$key] == 2) { //check the total stock balance of the commodity $facility_stock = facility_stocks::get_facility_commodity_total($facility_code, $commodity_id[$key]); $commodity_balance = $commodity_balance_units[$key] * -1; $inserttransaction = Doctrine_Manager::getInstance()->getCurrentConnection()->execute("update facility_transaction_table t\n\t\t set t. `closing_stock`=`closing_stock`-{$commodity_balance_units[$key]},`adjustmentnve`={$commodity_balance}\n\t\t where t.facility_code='{$facility_code}' and t.commodity_id={$commodity_id[$key]} and t.status=1"); // prepare the data to save $commodity_balance = $commodity_balance_units[$key] * -1; $mydata = array('facility_code' => $facility_code, 's11_No' => 'Deleted Commodity', 'commodity_id' => $commodity_id[$key], 'batch_no' => $batch_no[$key], 'expiry_date' => date('y-m-d', strtotime(str_replace(",", " ", $expiry_date[$key]))), 'balance_as_of' => $facility_stock[0]['commodity_balance'], 'adjustmentnve' => $commodity_balance, 'date_issued' => date('y-m-d'), 'issued_to' => 'N/A', 'issued_by' => $this->session->userdata('user_id')); // update the issues table facility_issues::update_issues_table($mydata); //delete the record $inserttransaction = Doctrine_Manager::getInstance()->getCurrentConnection()->execute("delete from facility_stocks where id={$stock_id[$key]}"); } else { $myobj = Doctrine::getTable('facility_stocks')->find($stock_id[$key]); $myobj->batch_no = $batch_no[$key]; $myobj->manufacture = $manufacturer[$key]; $myobj->expiry_date = date('y-m-d', strtotime(str_replace(",", " ", $expiry_date[$key]))); $myobj->save(); } } //$this-> hcmp_functions ->send_stock_update_sms(); $this->session->set_flashdata('system_success_message', "Facility Stock data has Been Updated"); redirect('reports/facility_stock_data'); } redirect(); }
public function internal_issue() { //security check // echo "<pre>";print_r($this->input->post());echo "</pre>";exit; if ($this->input->post('service_point')) { $facility_code = $this->session->userdata('facility_id'); $service_points = array_values($this->input->post('service_point')); $commodity_id = array_values($this->input->post('desc')); $commodity_balance_before = array_values($this->input->post('commodity_balance')); $facility_stock_id = array_values($this->input->post('facility_stock_id')); $batch_no = array_values($this->input->post('batch_no')); $expiry_date = array_values($this->input->post('expiry_date')); $commodity_unit_of_issue = array_values($this->input->post('commodity_unit_of_issue')); $quantity_issued = array_values($this->input->post('quantity_issued')); $clone_datepicker_normal_limit_today = array_values($this->input->post('clone_datepicker_normal_limit_today')); $total_units = array_values($this->input->post('total_units')); $total_items = count($facility_stock_id); //print_r($total_units); for ($i = 0; $i < $total_items; $i++) { //compute the actual stock $total_items_issues = $commodity_unit_of_issue[$i] == 'Pack_Size' ? $quantity_issued[$i] * $total_units[$i] : $quantity_issued[$i]; //prepare the issues data $mydata = array('facility_code' => $facility_code, 's11_No' => 'internal issue', 'batch_no' => $batch_no[$i], 'commodity_id' => $commodity_id[$i], 'expiry_date' => date('Y-m-d', strtotime($expiry_date[$i])), 'qty_issued' => $total_items_issues, 'issued_to' => $service_points[$i], 'balance_as_of' => $commodity_balance_before[$i], 'date_issued' => date('y-m-d', strtotime($clone_datepicker_normal_limit_today[$i])), 'issued_by' => $this->session->userdata('user_id')); // update the issues table facility_issues::update_issues_table($mydata); // reduce the stock levels $a = Doctrine_Manager::getInstance()->getCurrentConnection(); $a->execute("UPDATE `facility_stocks` SET `current_balance` = `current_balance`-{$total_items_issues} where id='{$facility_stock_id[$i]}'"); //update the transaction table here $inserttransaction = Doctrine_Manager::getInstance()->getCurrentConnection(); $inserttransaction->execute(" UPDATE `facility_transaction_table` SET `total_issues` = `total_issues`+{$total_items_issues},\n\t\t\t\t`closing_stock`=`closing_stock`-{$total_items_issues}\n\t\t\t\tWHERE `commodity_id`= '{$commodity_id[$i]}' and status='1' and facility_code='{$facility_code}';"); //insertion to service points stock table $sp_checker = facility_issues::get_service_point_stocks($facility_code, $service_points[$i], $commodity_id[$i]); // $current_balance = $commodity_balance_before[$i] - $total_items_issues; if (count($sp_checker) > 0) { $update = Doctrine_Manager::getInstance()->getCurrentConnection()->execute("UPDATE service_point_stocks SET current_balance = current_balance + {$total_items_issues} WHERE facility_code = {$facility_code} AND service_point_id = {$service_points[$i]}"); } else { $sp_stocks_array = array(); $sp_stocks = array('facility_code' => $facility_code, 'batch_no' => $batch_no[$i], 'commodity_id' => $commodity_id[$i], 'expiry_date' => date('Y-m-d', strtotime($expiry_date[$i])), 'service_point_id' => $service_points[$i], 'current_balance' => $total_items_issues); array_push($sp_stocks_array, $sp_stocks); // echo "<pre>";print_r($sp_stocks);exit; $this->db->insert_batch('service_point_stocks', $sp_stocks_array); } } // echo "Insertion done";exit; //updates the log tables with the action $user = $this->session->userdata('user_id'); $user_action = "issued"; //updates the log table accordingly based on the action carried out by the user involved $update = Doctrine_Manager::getInstance()->getCurrentConnection(); $update->execute("update log set {$user_action} = 1 \n\t\t\t\twhere `user_id`= {$user} \n\t\t\t\tAND action = 'Logged In' \n\t\t\t\tand UNIX_TIMESTAMP( `end_time_of_event`) = 0"); $this->session->set_flashdata('system_success_message', "You have issued {$total_items} item(s)"); redirect(home); } redirect(home); }