<?php namespace App\Http\Controllers;  

use App\Custom\SQLConnection; 
use App\Custom\Misc; 
use Request;
use Session;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Storage;
use DB;
use DateTime;
use stdClass;

class ReportsController extends Controller  {

	public static function ReportsIngresarInforme($contraparte, $producto, $id_tipo_informe, $solicitado_por, $prioridad, $datamanager, $estado_informe, $asignado, $fecha_limite_doc=null, $fecha_comprometida=null, $objeto_informe=null) {

		if ($contraparte > 0 AND $id_tipo_informe > 0 AND $solicitado_por > 0 AND $datamanager > 0 AND $estado_informe != '') {
			$datos_contrato = SQLConnection::backendStoreProcedure('LN_informes', array('tipos_informe',$contraparte, null, null, null, null, $id_tipo_informe), 'selectOne');

		if (!empty($datos_contrato)) {
			$fecha_lim = null;
			$fecha_ent = null;
			if ($fecha_limite_doc != null) {
				//$fecha_lim = date_create_from_format('!d/m/Y', $fecha_limite_doc);
				// Ya viene en formato yyyy-mm-dd
				$fecha_lim = $fecha_limite_doc; 
			}
			if ($fecha_comprometida != null) {
				// $fecha_ent = date_create_from_format('!d/m/Y', $fecha_comprometida);
				// Ya viene en formato yyyy-mm-dd
				$fecha_ent =  $fecha_comprometida;
			}
			$nuevo_informe = SQLConnection::backendStoreProcedure('LN_informes', array('ingresar_informe', $contraparte, NULL, 
				Session::get('usuario')->user_id, 
				$datos_contrato->item_contrato, 
				$datos_contrato->producto,
				$id_tipo_informe,
				$prioridad,
				$estado_informe,
				$solicitado_por,
				$datamanager,
				$asignado,
				NULL,
				$fecha_lim,
				$producto,
				$fecha_ent,
				$objeto_informe), 'selectOne');

			$informe = $nuevo_informe->informe;
			return $informe;
			}
		}
		return NULL;
	}


	/** Dado un id de informe, busca la tareas de gestión de documentación, la asigna y la deja en proceso **/
	public static function ReportsInformeEnGestion($informe, $fecha_limite_doc, $asignado_tarea,$fecha_entrega_doc=null) {
		if ($informe > 0 AND NULL != $fecha_limite_doc AND $asignado_tarea > 0) {
			$fecha_lim = null;
			$fecha_ent = null;
			if ($fecha_limite_doc != null) {
				//$fecha_lim = date_create_from_format('!d/m/Y', $fecha_limite_doc);
				// Ya viene en formato yyyy-mm-dd
				$fecha_lim = $fecha_limite_doc; 
			}
			if ($fecha_entrega_doc != null) {
				//$fecha_ent = date_create_from_format('!d/m/Y', $fecha_entrega_doc);
				// Ya viene en formato yyyy-mm-dd
				$fecha_ent =  $fecha_entrega_doc;
			}
			$nueva_tarea = SQLConnection::backendStoreProcedure('LN_informes', array('activar_gestion_documentacion', NULL, $informe,
					Session::get('usuario')->user_id, 
					NULL,
					NULL,
					NULL,
					1,
					'E',
					NULL,
					NULL,
					$asignado_tarea,
					NULL,
					$fecha_lim,
					null,
					$fecha_ent), 'selectOne');

			$tarea = $nueva_tarea->informe;
			return $tarea;
		}
		return NULL;
	}

}
