<?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_SUPERVISOR_VERIFICADOR';
		$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 2A
		$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':
						$conta_error = 0 ;
						for ($x=0; $x < count($_POST['tabla_completa2A']); $x++)
						{
 
								$where = array(
									'lote' 						=> $_POST['tabla_completa2A'][$x][1], 
									'cantidad_registros' 		=> intval($_POST['tabla_completa2A'][$x][2]), 
									'ubigeo' 					=> $_POST['tabla_completa2A'][$x][3]
								);
								$arraycampos = array(
						 	 		'codigo_verificador'		=> $this->input->post('p1_supervisor_val')
								);	

									 $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->actualizar_asignacionlotes_uno_a_uno( 'asignacionlotes', $arraycampos , $where);
 
 
							if ($query == false)
							{
								$conta_error ++;
							}
						}	

						if($conta_error <>0)
						{
							$this->data['error_asignar_todo_a_uno'] = "Ya se asigno el total de esta colonia";
						} 
 
				break;

				case 'btn_agregar_uno_a_uno':

						$where = array(
							'lote' 						=> $this->input->post('panel2_lot'), 
							'ubigeo' 					=> $this->input->post('panel2_geo'), 
		 	 	 			'responsable_colonia'		=> $this->session->userdata('user_id')
						);
						$arraycampos = array(
		 	 	 			'codigo_verificador'		=> $this->input->post('p1_supervisor_val')
						);	
// show_error( $datos )  ;

							 $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->actualizar_asignacionlotes_uno_a_uno('asignacionlotes',$arraycampos, $where);
			if ($query == false)
			{
				$this->data['error_asignar_uno_a_uno'] = "Ya se asigno el lote";
			}


				break; 

				case 'btn_remover_uno_a_uno':

						$where = array(
							'lote' 						=> $this->input->post('panel2_lot'), 
							'ubigeo' 					=> $this->input->post('panel2_geo'), 
		 	 	 			'responsable_colonia'		=> $this->session->userdata('user_id')
						);
						$arraycampos = array(
		 	 	 			'codigo_verificador'		=> 0
						);	
// show_error( $datos )  ;

							$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->actualizar_asignacionlotes_uno_a_uno('asignacionlotes',$arraycampos, $where);
							if ($query == false)
							{
								$this->data['error_asignar_uno_a_uno'] = "No se puede eliminar el lote". $this->input->post('panel2_lot');
							}
				 
				break;

				case 'btn_remover_todos':

  
		 		 		for ($x=0; $x < count($_POST['tabla_completa2B']); $x++)
		 		 		{ 
		 		 
							$where = array(
								'lote' 						=> $_POST['tabla_completa2B'][$x][1], 
								'cantidad_registros' 		=> intval($_POST['tabla_completa2B'][$x][2]), 
								'ubigeo' 					=> $_POST['tabla_completa2B'][$x][3]
							);
							$arraycampos = array(
			 	 	 			'codigo_verificador'		=> 0
							);	
	// show_error( $datos )  ;

							$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->actualizar_asignacionlotes_uno_a_uno('asignacionlotes',$arraycampos, $where);
							if ($query == false)
							{
							$this->data['error_asignar_uno_a_uno'] = "No se puede eliminar el lote". $this->input->post('panel2_lot');
							}

		 		 		}	
 
				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
		$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['dpto_cod'].$enc['dist_cod'].$enc['col_cod'];
			$colonias[$conca] = $enc['col_desc'] .
								" (Dpto: "	. $enc['dpto_cod'] 	." ".
								"Dist: "	. $enc['dist_cod']	." ".
								"Col: "		. $enc['col_cod'] 	.")";
		}
		if (!isset($colonias)){$colonias ="";}
		$this->data['colonia'] 	= $colonias;  
 
         // ------------------------------ Supervisor por coordinador
 		$array_where = array('users_id_coordinador' =>  $this->session->userdata('user_id') );
        $supervisor_x_coordinador = $this->asignacion_supervisor_verificador_model->trae_supervisores_por_coordinador('equipos_coordinador_supervisor',$array_where)->result_array();
		foreach ($supervisor_x_coordinador as $enc) {
			$supervisores_x_c[$enc['equipo_id_supervisor']] = $enc['users_nombre_supervisor'] ;
		}
		if (!isset($supervisores_x_c)){$supervisores_x_c ="";}
		$this->data['supervisor_x_coordinador'] = $supervisores_x_c;

        // ------------------------------ Supervisor
		$el_join = 'users.id = users_groups.user_id ';
 		$array_where = array('group_id' => '6', 'users.id' => $this->session->userdata('user_id') );
 		$array_where = '6' ;
 		$array_where = array('group_id' => '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'] ;
		}
		if (!isset($supervisores)){$supervisores ="";}
		$this->data['supervisor'] 	= $supervisores; 



		/*
			ESTA SECCION NO PRODUCE EFECTO, NO BORRAR --------------------------
		*/
	    // ------------------------------ Supervisor asignado a coordinador
		    $array_where_super = array('users_id_coordinador' => $this->session->userdata('user_id') );
		    $supervisor_asignado = $this->asignacion_supervisor_verificador_model->equipos_trabajos('equipos_trabajos',$array_where_super)->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'] ;
			}
			if (!isset($supervisores_asignados)){$supervisores_asignados ="";}
			//$this->data['supervisor_asignado'] 	= $supervisores_asignados;
		/*
			-------------------------------------------------------------------
		*/


	    // ------------------------------ Verificador asignado a Supervisor
	    $array_where_super = array(
	    	'equipo_id_supervisor' => $this->session->userdata('user_id'),
	    	'users_id_coordinador' => 0
	    	);
	    $supervisor_asignado = $this->asignacion_supervisor_verificador_model->equipos_trabajos('equipos_trabajos',$array_where_super)->result_array();
		//inserta en un array asociativo para poder utilizarlo en el form_dropdown
		foreach ($supervisor_asignado as $enc) {
			$verificadores_asignados[$enc['equipo_id_verificador']] = $enc['users_nombre_verificador'] ;
		}
		if (!isset($verificadores_asignados)){$verificadores_asignados ="";}
		$this->data['verificador_asignado'] 	= $verificadores_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'] ;
		}
		if (!isset($verificadores)){$verificadores ="";}
		$this->data['verificador'] 	= $verificadores; 

        //********* LISTADOS **********
        // ------------------------------ Coordinador A Supervisor y A Verificador
        // Panel 1
        $array_where = array(
        	'responsable_colonia' => $this->session->userdata('user_id') ,
        	'codigo_verificador' => 0
        	);
		$this->data['datos_panel_2A'] = $this->asignacion_supervisor_verificador_model->panel2A($array_where)->result();

		// Panel 2
		$array_where = '0' ;

		if (isset($_POST['p1_supervisor_val']))
		{
			$array_where2 = $_POST['p1_supervisor_val'] ;
	        $array_where2 = array(
	        	'responsable_colonia' 	=> $this->session->userdata('user_id'),
	        	'codigo_verificador' 	=> $_POST['p1_supervisor_val'] 
	    	);
		}else{
	        $array_where2 = array(
	        	'responsable_colonia' 	=> $this->session->userdata('user_id'),
	        	'codigo_verificador' 	=> $this->session->userdata('user_id')
	    	);

		}
		
		$superauxiliar = $this->asignacion_supervisor_verificador_model->trabajos_verificador('asignacionlotes',$array_where2)->result();
		//show_error($superauxiliar);
		$this->data['datos_panel_2B'] = $superauxiliar;
		// Ejecutar vista
		//---------------------------------------------------------------------------------------------//
		$this->template->admin_render('monitoreo/asignacion_supervisor_verificador', $this->data);

	}
     

}