public function reverse_issue($commodity_id, $time, $issuer) { $current_time = date("Y-m-d H:i:s", time()); $current_date = date("Y-m-d", time()); $created_at = date("Y-m-d H:i:s", $time); $facility_code = $this->session->userdata('facility_id'); $current_user = $this->session->userdata('user_id'); $issue_details = Facility_issues::get_facility_issue_details_for_reversals($facility_code, $commodity_id, $created_at, $issuer); foreach ($issue_details as $key => $value) { $id = $value['id']; $facility_code = $value['facility_code']; $commodity_id = $value['commodity_id']; $s11_No = $value['s11_No']; $batch_no = $value['batch_no']; $expiry_date = $value['expiry_date']; $balance_as_of = intval($value['balance_as_of']); $qty_issued = intval($value['qty_issued']); $issued_to = $value['issued_to']; $new_balance = $balance_as_of - $qty_issued; $new_quantity = $qty_issued * -1; $insert = Doctrine_Manager::getInstance()->getCurrentConnection(); $insert->execute("INSERT INTO facility_issues\n\t\t\t\t\t (`id`, `facility_code`, `commodity_id`, `s11_No`, `batch_no`, `expiry_date`, `balance_as_of`, `adjustmentpve`,`adjustmentnve`, `qty_issued`, `date_issued`, `issued_to`,`created_at`,`issued_by`, `status`)\n \t\t\t VALUES (null,'{$facility_code}','{$commodity_id}','reversed issue', '{$batch_no}','{$expiry_date}','{$new_balance}', '0','0','{$new_quantity}','{$current_date}', 'N/A','{$current_time}','{$current_user}','1')"); $update = Doctrine_Manager::getInstance()->getCurrentConnection(); $update->execute("update facility_issues set status = '3'\twhere `id`= {$id}"); $update->execute("update facility_stocks set current_balance = (current_balance+'{$qty_issued}'), date_modified='{$current_time}' where `facility_code`= '{$facility_code}' and `commodity_id`= '{$commodity_id}' and `batch_no`= '{$batch_no}' "); } redirect('issues/reversals'); }