public function reverse_redistribution($facility_code, $raw_date, $issued_by, $type) { $current_time = date("Y-m-d H:i:s", time()); $created_at = date("Y-m-d", $raw_date); $redistribution_details = Facility_issues::get_reversal_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 ($redistribution_details as $key => $value) { $reverse_data = array('redistribution_id' => $value['id'], 'source_facility_code' => $value['source_facility_code'], 'receive_facility_code' => $value['receive_facility_code'], 'commodity_id' => $value['commodity_id'], 'batch_no' => $value['batch_no'], 'quantity_sent' => $value['quantity_sent'], 'quantity_received' => $value['quantity_received'], 'sender_id' => $value['sender_id'], 'receiver_id' => $value['receiver_id'], 'manufacturer' => $value['manufacturer'], 'expiry_date' => $value['expiry_date'], 'status' => $value['status'], 'facility_stock_ref_id' => $value['facility_stock_ref_id'], 'date_sent' => $value['date_sent'], 'date_received' => $value['date_received'], 'source_district_id' => $value['source_district_id'], 'reversal_time' => $current_time, 'reversal_status' => '1'); echo "<pre>"; print_r($reverse_data); die; $this->db->insert('reverse_redistributions', $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['quantity_sent']); $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('redistribution_data'); } redirect('admin/reversals'); } } }