Exemple #1
0
 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');
         }
     }
 }