Ejemplo n.º 1
0
 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');
         }
     }
 }