public function reverse_issue($facility_code, $raw_date, $issued_by, $type) { $current_time = date("Y-m-d H:i:s", time()); $created_at = date("Y-m-d H:i:s", $raw_date); $issue_details = Facility_issues::get_issue_details_for_reversals($facility_code, $created_at, $issued_by); if ($type == 'view') { foreach ($issue_details as $key => $value) { $facility_code = $value['facility_code']; $facility_name = $value['facility_name']; $commodity_name = $value['commodity_name']; $batch_no = $value['batch_no']; $qty_issued = $value['qty_issued']; $date_issued_raw = $value['date_issued']; $issued_by = $value['issued_by']; $date_issued = date('d F Y', strtotime($date_issued_raw)); $output[] = array($facility_name, $facility_code, $commodity_name, $batch_no, $qty_issued, $date_issued); } echo json_encode($output); } else { if ($type == 'reverse') { foreach ($issue_details as $key => $value) { $reverse_data = array('reversed_id' => $value['id'], 'facility_code' => $value['facility_code'], 's11' => $value['s11_No'], 'commodity_id' => $value['commodity_id'], 'batch_no' => $value['batch_no'], 'expiry_date' => $value['expiry_date'], 'balance_as_of' => $value['balance_as_of'], 'adjustmentpve' => $value['adjustmentpve'], 'adjustmentnve' => $value['adjustmentnve'], 'qty_issued' => $value['qty_issued'], 'date_issued' => $value['date_issued'], 'issued_to' => $value['issued_to'], 'created_at' => $value['created_at'], 'issued_by' => $value['issued_by'], 'status' => $value['status'], 'reversal_type' => '1', 'reversal_time' => $current_time, 'reversal_status' => '1'); $this->db->insert('reversals', $reverse_data); $facility_stocks_data = facility_stocks::get_current_stock_for_reversal($value['facility_code'], $value['commodity_id'], $value['batch_no']); foreach ($facility_stocks_data as $keys => $values) { $id = $values['id']; $initial_quantity = $values['initial_quantity']; $current_balance = intval($values['current_balance']); $new_balance = $current_balance + intval($value['qty_issued']); $update_data = array('current_balance' => $new_balance); $this->db->where('id', $id); $this->db->update('facility_stocks', $update_data); } $this->db->where('id', $value['id']); $this->db->delete('facility_issues'); } redirect('admin/reversals'); } } }