<?php

namespace App\Imports;

use App\Accion;
use App\Presupuesto;
use App\DepartamentoLimite;
use App\PresupuestoDetalleRestringida;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\{ToCollection, WithHeadingRow};

class RestringidaCollectionImport implements ToCollection, WithHeadingRow
{
    /**
    * @param Collection $collection
    */
    public function collection(Collection $rows)
    {
        //Validar la el formato de la fecha 2022-02-17
        //y el de los numeros que no tengan la (,) o quitarles la (,) 
        //cambiar tambn que busq el año
        //que las actividades sean de este año
    	
    	$i = 1;
      foreach ($rows as $row) 
      {
      	$i++;
      	$accion = Accion::where('clave_completa', '=', trim($row['actividad']))->where('id','>=','1564')->first();
      	
      	if ($accion != null) {
      	
	      	$presupuesto = Presupuesto::where('departamento_id', '=', $row['clave_depto'])->where('accion_id', '=', $accion->id)->first();
	      	if ($presupuesto==null) {
	      		$presupuesto = Presupuesto::create(['anio_id'=>'2022', 'departamento_id' => $row['clave_depto'], 'accion_id' => $accion->id ]);
	      	}

          $depto_limite = DepartamentoLimite::where('anio_id', '2022')->where('departamento_id', '=', $row['clave_depto'])->first();
          //dd($depto_limite);
          $importe = str_replace(',', '', $row['importe']);
          $depto_limite->autorizado = $depto_limite->autorizado+$importe;
          $depto_limite->limite = $depto_limite->limite+$importe;
          $depto_limite->save();

	       	PresupuestoDetalleRestringida::create(['autorizado'=>$importe, 'adecuado'=>$importe, 'requisicion'=>'0', 'ejercido'=>'0', 'disponible'=>$importe, 'estado'=>'1', 'partida_id'=>$row['partida'], 'presupuesto_id'=>$presupuesto->id, 'subpresupuesto'=>'0', 'servicio'=> $row['servicio_evento'], 'sede'=>$row['sede'], 'fecha_inicio'=>$row['fecha_inicio'], 'fecha_termino'=>$row['fecha_final'], 'justificacion'=>$row['justificacion'], 'poblacion'=>$row['poblacion_beneficiaria'], 'objetivo'=>$row['objetivo'], 'costo'=>$row['costoxparticipante'], 'participantes'=>$row['num_participantes'], 'riesgos'=>$row['riesgos'], 'desglose'=>$row['desglose_gastos'], 'cucop_id'=>$row['clave_cucop'] ]);	       	

	      } else {
	      	abort(406, "La actividad de la linea #".$i." no existe en la base de datos." )->header('Content-Type', 'text/plain');
	      }

      }
    }
}
