<?php
ini_set('memory_limit', '128M');
defined('BASEPATH') OR exit('No direct script access allowed');

class Asignacion_supervisor_verificador extends Admin_Controller {
/*
----------------------------------------------------------------
CAMBIO EN LOS CAMPOS DE LA TABLA ORIGINAL - asignacion lotes
----------------------------------------------------------------
# DESPUES							  # ANTES
id_asignacion                         - 
cod_proyecto                          - 
lote                                  - 
fecha_asignacion                      - 
ubigeo                                - 
codigo_verificador                    - 
cantidad_registros                    - cantidad
cantidad_reg_analizado                - codificado
fecha_inicio                          - 
fecha_fin                             - 
responsable_colonia                   - supervisor
verificado_responsable_colonia        - verificador
corrodinador                          - 
verificado_coordinador                - 
entregado_a_verificador               - entregado_a_codificador
----------------------------------------------------------------
*/
	public function __construct()
	{
		parent::__construct();

		$this->load->model('monitoreo/asignacion_supervisor_verificador_model');
		$this->lang->load ('monitoreo/asignacion');

		/* Titulo de la pagina :: Common */
		$_SESSION['id_modulo'] = 'MONITOREO_COORDINADOR_SUPERVISOR';
		$this->page_title->push('Asignacion de Trabajo Supervisor a Verificador');
		$this->data['pagetitle'] = $this->page_title->show();

		/* Breadcrumbs :: Common */
		$this->breadcrumbs->unshift(1, lang('menu_monitoreo'), 'monitoreo/asignacion_supervisor_verificador_model');

	}
  
	public function index()
	{

		/* Breadcrumbs - Miga de pan */
		$this->data['breadcrumb'] 	= $this->breadcrumbs->show();

		//Ahora recibimos el valor de la colonia que deseamos filtrar en el panel 1A
		$this->data['filtrar_colonia'] 	= 'a';
		if(isset($_POST['filtrar_colonia']))
		{
			$this->data['filtrar_colonia'] 	= $_POST['filtrar_colonia'];
			$_POST['xfiltrar_colonia'] 	= $_POST['filtrar_colonia'];
			//show_error($_POST['filtrar_colonia']);
		} 

		if(isset($_POST['xfiltrar_colonia']) )
		{
			$this->data['filtrar_colonia'] = $this->input->post('xfiltrar_colonia');
		//	$this->data['filtrar_colonia'] = $this->input->post('xfiltrar_colonia');
		//	show_error($_POST['xfiltrar_colonia']);
		} 

		if (isset($_POST['p1_supervisor_val']))
		{
			$this->data['p1_mantener_supervisor'] 	= $this->input->post('p1_supervisor_val');
		}
		if (isset($_POST['p2_supervisor_val']))
		{
			$this->data['p2_mantener_supervisor'] 	= $this->input->post('p2_supervisor_val');
		}

 		$this->data['accion'] =  $this->input->post('accion');
		if (isset($_POST['accion']))
		{
			switch ($_POST['accion']) 
			{

				case 'btn_agregar_todos':

 		 		for ($x=0; $x < count($_POST['tabla_completa1A']); $x++)
 		 		{ 
 		 
	 	 	 		$datos = array(
	 	 	 			'cod_proyecto' 				=> 1,
	 	 	 			'lote' 						=> $_POST['tabla_completa1A'][$x][1], 
	 	 	 			'cantidad_registros' 		=> intval($_POST['tabla_completa1A'][$x][2]), 
	 	 	 			'ubigeo' 					=> $_POST['tabla_completa1A'][$x][3], 
	 	 	 			'responsable_colonia'		=> $this->input->post('p1_supervisor_val'), 
	 	 	 			'coordinador'				=> 35, 
	 	 	 			'codigo_verificador'		=> 0,
	 	 	 			'cantidad_reg_analizado'	=> 0
	 	 	 		);
		   
		 			$this->data['filtrar_colonia'] = $this->input->post('xfiltrar_colonia');
		 			$query = $this->asignacion_supervisor_verificador_model->asignar_uno_a_uno($datos);
		 			if ($query == false)
		 			{
		 				$this->data['error_asignar_todo_a_uno'] = "Ya se asigno el total de esta colonia";
		 			}
 		 		}	 

// Prueba recepcion array
//		$testeo = $_POST['tabla_completa1A'][1][0];
//		$cona 	= count($_POST['tabla_completa1A']);
//		$elem 	= "";
//
//		for ($x=1; $x < $cona; $x++)
//		{
//			for ($y=0; $y <= 3 ; $y++)
//			{
//				$elem .= "[" . $x . "][" . $y . "]: " ;
//				$elem .= $_POST['tabla_completa1A'][$x][$y]. "<br>";
//			}
//		}
//		show_error("elementos <br>". $elem);

				break;

				case 'btn_agregar_uno_a_uno':

						$datos = array(
							'cod_proyecto' 				=> 1,
							'lote' 						=> $this->input->post('panel1_lot'), 
							'cantidad_registros' 		=> intval($this->input->post('panel1_reg')), 
							'ubigeo' 					=> $this->input->post('panel1_geo'), 
							'responsable_colonia'		=> $this->input->post('p1_supervisor_val'), 
							'coordinador'				=> 35, 
							'codigo_verificador'		=> 0,
							'cantidad_reg_analizado'	=> 0
						);
							 
							 $this->data['panel1_id'] =  $this->input->post('panel1_id');
							 $this->data['panel1_lot'] = $this->input->post('panel1_lot');
							 $this->data['panel1_reg'] = $this->input->post('panel1_reg');
							 $this->data['panel1_geo'] = $this->input->post('panel1_geo'); 
 										  
						 	$this->data['filtrar_colonia'] = $this->input->post('xfiltrar_colonia');

						$query = $this->asignacion_supervisor_verificador_model->asignar_uno_a_uno($datos);
						if ($query == false)
						{
							$this->data['error_asignar_uno_a_uno'] = "Ya se asigno el lote";
						}


				break; 

				case 'btn_remover_uno_a_uno':

 
						$datos = array(
	 						'cod_proyecto' 				=> 1,
	 						'lote' 						=> $this->input->post('panel2_lot'), 
	 						'cantidad_registros' 		=> intval($this->input->post('panel2_reg')), 
	 						'ubigeo' 					=> $this->input->post('panel2_geo'), 
	 						'responsable_colonia'		=> $this->input->post('p2_supervisor_val'), 
	 						'coordinador'				=> 35, 
	 						'codigo_verificador'		=> 0,
	 						'cantidad_reg_analizado'	=> 0
						);
							 
							 $this->data['panel2_id'] =  $this->input->post('panel2_id');
							 $this->data['panel2_lot'] = $this->input->post('panel2_lot');
							 $this->data['panel2_reg'] = $this->input->post('panel2_reg');
							 $this->data['panel2_geo'] = $this->input->post('panel2_geo'); 
 										  
						 	$this->data['filtrar_colonia'] = $this->input->post('xfiltrar_colonia');

						$query = $this->asignacion_supervisor_verificador_model->remover_uno_a_uno($datos);
						if ($query == false)
						{
							$this->data['error_remover_uno_a_uno'] = "Ya se elimino el lote";
						}


				break;

				case 'btn_remover_todos':

  
		 		 		for ($x=0; $x < count($_POST['tabla_completa1B']); $x++)
		 		 		{ 
		 		 
			 	 	 		$datos = array(
			 	 	 			'cod_proyecto' 				=> 1,
			 	 	 			'lote' 						=> $_POST['tabla_completa1B'][$x][1], 
			 	 	 			'cantidad_registros' 		=> intval($_POST['tabla_completa1B'][$x][2]), 
			 	 	 			'ubigeo' 					=> $_POST['tabla_completa1B'][$x][3], 
			 	 	 			'responsable_colonia'		=> $this->input->post('p2_supervisor_val'), 
			 	 	 			'coordinador'				=> 35
			 	 	 		);
				   
				 			$this->data['filtrar_colonia'] = $this->input->post('xfiltrar_colonia');
				 			$query = $this->asignacion_supervisor_verificador_model->remover_uno_a_uno($datos);
				 			if ($query == false)
				 			{
				 				$this->data['error_remover_todo_de_uno'] = "Ya se asigno el total de esta colonia";
				 			}
		 		 		}	
 
				break;

				default:
					# code...
					break;
			}
	 
		//	if ($query)
		//	{
		//		$this->session->set_flashdata(
		//			'message', 
		//			$this->ion_auth->messages()
		//		);
		// 		redirect('monitoreo/asignacion_supervisor_verificador'					,'', $this->data);
		//	}
		}
 
		// ------------------------------ Listar Todas las Colonia
		// Si se marca la casilla de todas las colonias, el filtro se elimina

		//show_error( $_POST['accion']." - ".$_POST['p1_todas_las_colonias_input'])  ;
		if ( 
			(isset($_POST['accion']) && $_POST['accion'] == "todas_las_colonias") ||  
			(isset($_POST['p1_todas_las_colonias_input']) && $_POST['p1_todas_las_colonias_input'] == "todas_las_colonias") 
			)
		{ 
 			$this->data['filtrar_colonia'] 			= '';
 			$this->data['checkbox_colonias'] 		= 'true';
 			$conca = 000;
			$colonias[$conca] = "SE MUESTRAN TODAS LAS COLONIAS" ;
		}else{
			// Si el filtro esta vacio, no se va llamar a la casilla por defecto
			if($this->input->post('filtrar_colonia') == "")
			{
				$conca = 000;
				$colonias[$conca] = "Seleccione una colonia";
			}
		}

		//********* COMBOBOX's **********
		// ------------------------------ Colonia+
		
													//$where_supervisor = $_POST['supervisor'];
		$where_supervisor = 2;	//Seria ingresando como Raquel
		
		$colonia = $this->asignacion_supervisor_verificador_model->trae_colonias()->result_array();
		//inserta en un array asociativo para poder utilizarlo en el form_dropdown
		foreach ($colonia as $enc) {
			$conca = $enc['coddpto'].$enc['coddist'].$enc['codcolon'];
			$colonias[$conca] = $enc['nomcolon'] .
								" (Dpto: "	. $enc['coddpto'] 	." ".
								"Dist: "	. $enc['coddist']	." ".
								"Col: "		. $enc['codcolon'] 	.")";
		}
		$this->data['colonia'] 	= $colonias;
 
        // ------------------------------ Supervisor
		$el_join = 'users.id = users_groups.user_id ';
 		$array_where = array('gr
 			oup_id' => '6');
 		$array_where = '6' ;
        $supervisor = $this->asignacion_supervisor_verificador_model->trae_grupos('users_groups',$array_where, $el_join)->result_array();
		//inserta en un array asociativo para poder utilizarlo en el form_dropdown
		foreach ($supervisor as $enc) {
			$supervisores[$enc['id']] = $enc['first_name']. ' ' . $enc['last_name'] ;
		}
		$this->data['supervisor'] 	= $supervisores;

	    // ------------------------------ Supervisor asignado a coordinador
	    $supervisor_asignado = $this->asignacion_supervisor_verificador_model->equipos_trabajos('equipos_trabajos')->result_array();
		//inserta en un array asociativo para poder utilizarlo en el form_dropdown
		foreach ($supervisor_asignado as $enc) {
			$supervisores_asignados[$enc['equipo_id_supervisor']] = $enc['users_nombre_supervisor'] ;
		}
		$this->data['supervisor_asignado'] 	= $supervisores_asignados;

        // ------------------------------ Verificador
		$el_join = 'users.id = users_groups.user_id ';
 		$array_where = array('group_id' => '7');
 		$array_where = '7' ;
        $verificador = $this->asignacion_supervisor_verificador_model->trae_grupos('users_groups',$array_where, $el_join)->result_array();
		//inserta en un array asociativo para poder utilizarlo en el form_dropdown
		$verificadores ="";
		foreach ($verificador as $enc) {
			$verificadores[$enc['id']] = $enc['first_name']. ' ' . $enc['last_name'] ;
		}
		$this->data['verificador'] 	= $verificadores;

        //********* LISTADOS **********
        // ------------------------------ Coordinador A Supervisor y A Verificador
        // Panel 1B
								//if (isset($_POST['p1_supervisor_val']))
								//{
									//$array_where = $_POST['p1_supervisor_val'] ;
		$array_supervisor = 2 ;		//Debe venir un valor fijo por variable de sesion del supervisor
								//}

		$this->data['datos_panel_2A'] = $this->asignacion_supervisor_verificador_model->trabajos_supervisor('asignacionlotes',$array_supervisor)->result();

		// Panel 2B
		$this->data['datos_panel_2B'] = $this->asignacion_supervisor_verificador_model->trabajos_supervisor('asignacionlotes',$array_where)->result();

		// Ejecutar vista
		//---------------------------------------------------------------------------------------------//
		$this->template->admin_render('monitoreo/asignacion_supervisor_verificador', $this->data);

	}

	public function insertar_equipo_trabajo()
	{
  
		switch ($_POST['accion']) {
			case 'agregar_coordinador_supervisor':

					$datos = array(
					 	'id_coordinador' 	=> $this->input->post('p1_coordinador'), 
					 	'id_supervisor' 	=> $this->input->post('p1_supervisor')
						);

					 $query = $this->asignacion_supervisor_verificador_model->insertar_equipo_trabajo($datos);
			break;

			case 'eliminar_coordinador_supervisor':

					$datos = array(
					 	'id_coordinador' 	=> $this->input->post('p1_colonia'), 
					 	'id_supervisor' 	=> $this->input->post('p1_supervisor')
						);

					 $query = $this->asignacion_supervisor_verificador_model->eliminar_equipo_trabajo($datos);
			break; 

			case 'agregar_supervisor_verificador':

					$datos = array(
					 	'id_supervisor' 	=> $this->input->post('p2_supervisor'), 
					 	'id_verificador' 	=> $this->input->post('p2_verificador')
						);

					 $query = $this->asignacion_supervisor_verificador_model->insertar_equipo_trabajo($datos);

			break;

			case 'eliminar_supervisor_verificador':

					$datos = array(
					 	'id_verificador' 	=> $this->input->post('p2_verificador'), 
					 	'id_supervisor' 	=> $this->input->post('p2_supervisor')
						);

					 $query = $this->asignacion_supervisor_verificador_model->eliminar_equipo_trabajo($datos); 
			break;

			default:
				# code...
				break;
		}
 
		if ($query)
		{
			$this->session->set_flashdata(
				'message', 
				$this->ion_auth->messages()
			);
			redirect('monitoreo/asignacion_supervisor_verificador');
		}

	}

	public function test_json()
	{


		$arr = array(
			'a' => 'hola codeigniter, te pillamos', 
			'b' => 'esto es un ejemplo simple', 
			'c' => 'con json encode', 
			'd' => 'desde el controlador', 
			'e' => ' ', 
			);

		echo json_encode($arr);

	}

	public function trae_cuest_reg01()
	{

		//include('application/models/cuest/reg01_model.php');
		//include('application/language/spanish/cuest/reg01_lang.php');
		
		include('application/views/cuest/reg01/create.php');

		//echo base_url()."application/views/cuest/reg01/create.php";
		// echo "asdf ajsldflñ asjdflñaksjdlfjaskfdñsakjfdñlakjslñfdkjaslñkjfd lñasj fdlñ sakjfdlñkaslñdfaslñkjfd lasfd";
	}
	public function plantilla_reg01()
	{

		// Prueba para AJAX ----------------
		$this->load->model(	'cuest/reg01_model'	);
		$this->lang->load(	'cuest/reg01_lang'	);
		$this->data['reg01'] = $this->reg01_model->reg01()->result();
        // ---------------- ----------------

		

		/* Title Page :: Common */
		$this->page_title->push(lang('menu_reg01'));
		$this->data['pagetitle'] = $this->page_title->show();

		/* Breadcrumbs :: Common */
		$this->breadcrumbs->unshift(1, lang('menu_reg01'), 'admin/reg01');
 		// ---------------- ----------------
		
		//$this->output->set_output(json_encode($array));

		$plano = $this->load->view ('cuest/reg01/create');
		return $plano;
	}

	public function dibujar_plantilla_reg01()
	{
 		
		$plano = $this->load->view ('cuest/reg01/reg01_caratula');
		return $plano;
	}

	public function traer_datos_formulario_reg01()
	{
		$identificador = $_SESSION['identificador'];
		//$this->data['reg01_info'] = $this->reg01_model->view($identificador)->row();
		$registros = $this->reg01_model->view($identificador)->row();

		//$registros['dpto_descripcion'] 		= $this->reg01_model->dpto_descripcion($registros->dpto)->row();
		//$registros['distrito_descripcion'] 	= $this->reg01_model->distrito_descripcion($registros->distrito)->row();
		//$registros['colonia_descripcion'] 	= $this->reg01_model->colonia_descripcion($registros->colonia)->row();

		//$registros += [ 
		//	"dpto_descripcion" => $this->reg01_model->dpto_descripcion($registros->dpto)->row(), 
		//	"distrito_descripcion" => $this->reg01_model->distrito_descripcion($registros->distrito)->row(), 
		//	"colonia_descripcion" => $this->reg01_model->colonia_descripcion($registros->colonia)->row() 
		//];

	 
		//$a = $this->reg01_model->dpto_descripcion($registros->dpto)->row(); 
		//$b = $this->reg01_model->distrito_descripcion($registros->distrito)->row();
		//$c = $this->reg01_model->colonia_descripcion($registros->colonia)->row();
		 

		//array_push($registros, "dpto_descripcion", 		$this->reg01_model->dpto_descripcion($registros->dpto)->row()			);
		//array_push($registros, "distrito_descripcion", 	$this->reg01_model->distrito_descripcion($registros->distrito)->row()	);
		//array_push($registros, "colonia_descripcion", 	$this->reg01_model->colonia_descripcion($registros->colonia)->row()		);
 
		echo json_encode($registros);
	}

	public function trae_descripcion_codigo()
	{
		// El ID es el codigo de DPTO, Dtto, Colonia, etc, y trae su descripcion
	 	$id 	= $_POST['id'];
	 	$tabla 	= $_POST['tabla'];
	 	$campo 	= $_POST['campo'];
 		$registros = $this->reg01_model->trae_descripcion_codigo($tabla, $campo, $id)->row();
		echo json_encode($registros);
	}

}