PageRenderTime 81ms CodeModel.GetById 3ms app.highlight 67ms RepoModel.GetById 1ms app.codeStats 1ms

/application/models/casos_m.php

https://github.com/brass3a4/idheasMac
PHP | 1868 lines | 1003 code | 463 blank | 402 comment | 128 complexity | 9f0011c01baa6f81cd205fbb7b19b80d MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
   2	/*
   3	 * 
   4    Copyright 2013, i(dh)eas, Litigio Estratégico en Derechos Humanos A.C
   5
   6
   7    This file is part of bd(i).
   8
   9    bd(i) is free software: you can redistribute it and/or modify
  10
  11
  12    it under the terms of the GNU General Public License as published by
  13    the Free Software Foundation, either version 3 of the License, or
  14    (at your option) any later version.
  15
  16    bd(i) is distributed in the hope that it will be useful,
  17    but WITHOUT ANY WARRANTY; without even the implied warranty of
  18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19    GNU General Public License for more details.
  20
  21    You should have received a copy of the GNU General Public License
  22    along with bd(i). If not, see <http://www.gnu.org/licenses/>.
  23
  24
  25	 * */
  26class Casos_m extends CI_Model {
  27	
  28	function __construct() {
  29		parent::__construct();
  30	    $this->load->database();
  31	}
  32	
  33	/* Este modelo agrega un caso a la base de datos
  34	 * @Param $datosCaso
  35	 * */
  36	
  37	public function mAgregarCaso($datosCaso){
  38		
  39		/* inserta el array casos en la tabla casos de la BD */
  40		$this->db->insert('casos', $datosCaso['tablas']['casos']);
  41		
  42		/* Obtine el Id del último caso insertado*/
  43		$this->db->select_max('casoId');
  44		$consulta = $this->db->get('casos');
  45
  46		/* Recorre el array $consulta para traer la cadena del actorId */
  47		if($consulta->num_rows() > 0){
  48    		foreach ($consulta->result_array() as $row) {
  49        		$ultimoCasoId = $row['casoId'];
  50    		}
  51			
  52    	}
  53		
  54		/* Agrega el casoId al arreglo en el campo casos_casoId en las tablas...*/
  55			
  56		foreach($datosCaso['tablas'] as $key => $value){
  57			if($key != 'casos'){
  58				$datosCaso['tablas'][$key]['casos_casoId'] = $ultimoCasoId;
  59			}
  60		}
  61
  62
  63		
  64		/* Inserta en la BD los arrays */
  65		foreach($datosCaso['tablas'] as $key => $value){
  66			if($key != 'casos'){
  67				$this->db->insert($key,$datosCaso['tablas'][$key]);
  68			}
  69		}
  70		return $ultimoCasoId;
  71	}/* Fin de mAgregarCaso() */
  72	
  73	/* Este modelo trae los datos de un caso dependiendo de su id
  74	 * @Param casoId
  75	 * */
  76	
  77	public function mTraerDatosCaso($casoId){
  78		
  79		
  80		/* Trae todos los datos de casos*/
  81		$this->db->select('*');
  82		$this->db->from('casos');
  83		$this->db->where('casoId',$casoId);
  84		$consulta = $this->db->get();
  85					
  86		if ($consulta->num_rows() > 0){				
  87			/* Pasa la consulta a un cadena */
  88			foreach ($consulta->result_array() as $row) {
  89				$datos['casos'] = $row;
  90			}
  91		}
  92		
  93		
  94		/* Trae todos los datos de infoCaso*/
  95		$this->db->select('*');
  96		$this->db->from('infoCaso');
  97		$this->db->where('casos_casoId',$casoId);
  98		$consulta = $this->db->get();
  99					
 100		if ($consulta->num_rows() > 0){				
 101			/* Pasa la consulta a un cadena */
 102			foreach ($consulta->result_array() as $row) {
 103				$datos['infoCaso'] = $row;
 104			}
 105		}
 106		
 107		/* Trae todos los datos de fichas*/
 108		$this->db->select('*');
 109		$this->db->from('fichas');
 110		$this->db->where('casos_casoId',$casoId);
 111		$consulta = $this->db->get();
 112					
 113		if ($consulta->num_rows() > 0){				
 114			/* Pasa la consulta a un cadena */
 115			foreach ($consulta->result_array() as $row) {
 116				$datos['fichas'][$row['fichaId']] = $row;
 117				
 118				$this->db->select('*');
 119				$this->db->from('registro');
 120				$this->db->where('fichas_fichaId',$row['fichaId']);
 121				$consultaRegistros = $this->db->get();
 122				
 123				//print_r($consultaRegistros->result_array());
 124				if ($consultaRegistros->num_rows() > 0){
 125					foreach ($consultaRegistros->result_array() as $row2) {
 126						$datos['fichas'][$row['fichaId']]['registros'][$row2['registroId']] = $row2;
 127					}
 128				}
 129			}
 130		}
 131		
 132		/* Trae todos los datos de lugares*/
 133		$this->db->select('*');
 134		$this->db->from('lugares');
 135		$this->db->where('casos_casoId',$casoId);
 136		$consulta = $this->db->get();
 137					
 138		if ($consulta->num_rows() > 0){				
 139			/* Pasa la consulta a un cadena */
 140			foreach ($consulta->result_array() as $row) {
 141				$datos['lugares'][$row['lugarId']] = $row;
 142			}
 143		}
 144		
 145		/* Trae todos los datos de relacionCasos*/
 146		$this->db->select('*');
 147		$this->db->from('relacionCasos');
 148		$this->db->where('casos_casoId',$casoId);
 149		$consulta = $this->db->get();
 150					
 151		if ($consulta->num_rows() > 0){				
 152			/* Pasa la consulta a un cadena */
 153			foreach ($consulta->result_array() as $row) {
 154				$datos['relacionCasos'][$row['relacionId']] = $row;
 155				$datos['relacionCasos'][$row['relacionId']]['casoIdB'] = $row['casoIdB'];
 156				
 157				$this->db->select('nombre,fechaInicial,fechaTermino');
 158				$this->db->from('casos');
 159				$this->db->where('casoId', $row['casoIdB']);
 160				$consultaCaso = $this->db->get();
 161				
 162				if ($consultaCaso->num_rows() > 0){
 163					foreach ($consultaCaso->result_array() as $row3) {
 164						$nombreCaso = $row3;
 165					}
 166					
 167					$datos['relacionCasos'][$row['relacionId']]['nombreCasoIdB'] = $nombreCaso['nombre']; 
 168					$datos['relacionCasos'][$row['relacionId']]['fechaIncial'] = $nombreCaso['fechaInicial'];
 169					$datos['relacionCasos'][$row['relacionId']]['fechaTermino'] = $nombreCaso['fechaTermino'];	
 170				}
 171				
 172				
 173			}
 174
 175			
 176		}/* fin else */
 177		
 178		/* Trae todos los datos de intervenciones*/
 179		$this->db->select('*');
 180		$this->db->from('intervenciones');
 181		$this->db->where('casos_casoId',$casoId);
 182		$consulta = $this->db->get();
 183					
 184		if ($consulta->num_rows() > 0){				
 185			/* Pasa la consulta a un cadena */
 186			foreach ($consulta->result_array() as $row) {
 187				$datos['intervenciones'][$row['intervencionId']] = $row;
 188				
 189				/*Trae los casos relacionados directamente a un interventor */
 190				$this->db->select('*');
 191				$this->db->from('casos_has_actores');
 192				$this->db->where('actores_actorId',$row['interventorId']);
 193				$consultaCasosActor = $this->db->get();
 194				
 195				if($consultaCasosActor->num_rows() > 0){
 196					foreach ($consultaCasosActor->result_array() as $valor) {
 197						$datos['intervenciones'][$row['intervencionId']]['casosActorInterventor'][$valor['casoActorId']]=$valor;
 198					}
 199				}
 200
 201				/*Trae los casos relacionados directamente a un receptor */
 202				$this->db->select('*');
 203				$this->db->from('casos_has_actores');
 204				$this->db->where('actores_actorId',$row['receptorId']);
 205				$consultaCasosActor = $this->db->get();
 206				
 207				if($consultaCasosActor->num_rows() > 0){
 208					foreach ($consultaCasosActor->result_array() as $valor) {
 209						$datos['intervenciones'][$row['intervencionId']]['casosActorReceptor'][$valor['casoActorId']]=$valor;
 210					}
 211				}
 212			}
 213			
 214			foreach ($datos['intervenciones'] as $row) {
 215				
 216				/*Trae los intervenidos de una intervención*/
 217				$this->db->select('*');
 218				$this->db->from('intervenidos');
 219				$this->db->where('intervenciones_intervencionId',$row['intervencionId']);
 220				$this->db->order_by("intervenidoId", "desc"); 
 221				$consultaIntervenidos = $this->db->get();
 222				
 223				if ($consultaIntervenidos->num_rows() > 0) {
 224					foreach ($consultaIntervenidos->result_array() as $row4) {
 225						$datos['intervenciones'][$row['intervencionId']]['intervenidos'][$row4['intervenidoId']]=$row4;
 226						
 227						/*Trae los casos relacionados directamente a un intervenido */
 228						$this->db->select('*');
 229						$this->db->from('casos_has_actores');
 230						$this->db->where('actores_actorId',$row4['actorIntervenidoId']);
 231						$consultaCasosActor = $this->db->get();
 232						
 233						if($consultaCasosActor->num_rows() > 0){
 234							foreach ($consultaCasosActor->result_array() as $valor) {
 235								$datos['intervenciones'][$row['intervencionId']]['intervenidos'][$row4['intervenidoId']]['casosActorIntervenido'][$valor['casoActorId']]=$valor;
 236							}
 237						}	
 238					}
 239				}
 240				
 241				
 242				$this->db->select('actorId');
 243				$this->db->from('actorReportado');
 244				$this->db->where('intervenciones_intervencionId', $row['intervencionId']);
 245				$consulta = $this->db->get();
 246				
 247				if ($consulta->num_rows() > 0){				
 248					/* Pasa la consulta a un cadena */
 249					foreach ($consulta->result_array() as $row2) {
 250						//$datos['actorReportado'][$row['actorId']] = $row;
 251						$this->db->select('actorId,nombre,apellidosSiglas');
 252						$this->db->from('actores');
 253						$this->db->where('actorId', $row2['actorId']);
 254						$consultaActorReportado = $this->db->get();
 255						
 256						if ($consultaActorReportado->num_rows() > 0){
 257							foreach ($consultaActorReportado->result_array() as $row3) {
 258								
 259								$datos['intervenciones'][$row['intervencionId']]['actorReportado'][$row3['actorId']] =$row3;
 260								
 261								$this->db->select('*');
 262								$this->db->from('casos_has_actores');
 263								$this->db->where('actores_actorId',$row3['actorId']);
 264								$consultaCasosActor = $this->db->get();
 265								
 266								if($consultaCasosActor->num_rows() > 0){
 267									foreach ($consultaCasosActor->result_array() as $valor) {
 268										//print_r($valor);
 269										$datos['intervenciones'][$row['intervencionId']]['actorReportado'][$row3['actorId']]['casosActor'][$valor['casoActorId']]=$valor;
 270									}
 271								}
 272								
 273								
 274							}
 275						}/*fin if consultaActorReportado*/ 
 276						
 277					}/*fin foreach consulta de intervenciones */
 278				}/* fin de if consulta intervenciones*/
 279				
 280			}
 281			
 282		}
 283
 284		/* Trae todos los datos de actos*/
 285		$this->db->select('*');
 286		$this->db->from('actos');
 287		$this->db->where('casos_casoId',$casoId);
 288		$consulta = $this->db->get();
 289					
 290		if ($consulta->num_rows() > 0){				
 291			/* Pasa la consulta a un cadena */
 292			foreach ($consulta->result_array() as $row) {
 293				$datos['actos'][$row['actoId']] = $row;
 294			}
 295			
 296			foreach ($datos['actos'] as $row) {
 297				$this->db->select('*');
 298				$this->db->from('derechoAfectado');
 299				$this->db->where('derechoAfectadoCasoId', $row['derechoAfectado_derechoAfectadoCasoId']);
 300				$consulta = $this->db->get();
 301				
 302				if ($consulta->num_rows() > 0){				
 303					/* Pasa la consulta a un cadena */
 304					foreach ($consulta->result_array() as $row) {
 305						$datos['derechoAfectado'][$row['derechoAfectadoCasoId']] = $row;
 306					}
 307				}
 308			}/* Fin foreach de derechoAfectado*/
 309			
 310			foreach ($datos['actos'] as $row) {
 311				//print_r($row);
 312				$this->db->select('*');
 313				$this->db->from('victimas');
 314				$this->db->where('actos_actoId', $row['actoId']);
 315				$consulta = $this->db->get();
 316				
 317				if ($consulta->num_rows() > 0){				
 318					/* Pasa la consulta a un cadena */
 319					foreach ($consulta->result_array() as $row2) {
 320						$datos['actos'][$row['actoId']]['victimas'][$row2['victimaId']] = $row2;
 321
 322						foreach ($datos['actos'] as $row3) {
 323						//echo "<pre>"; print_r($row3); echo "</pre>";
 324								if (isset($row3['victimas']) && (isset($row3['victimas'][$row2['victimaId']]['victimaId'])) ) {
 325									$this->db->select('*');
 326									$this->db->from('perpetradores');
 327									$this->db->where('victimas_victimaId', $row3['victimas'][$row2['victimaId']]['victimaId']);
 328									$consulta = $this->db->get();
 329									
 330									if ($consulta->num_rows() > 0){				
 331										/* Pasa la consulta a un cadena */
 332										foreach ($consulta->result_array() as $row4) {
 333											$datos['actos'][$row['actoId']]['victimas'][$row2['victimaId']]['perpetradores'][$row4['perpetradorVictimaId']] = $row4;
 334										}
 335								}
 336							}
 337						}/*Fin foreach Victimas*/
 338						
 339					}
 340					
 341				}
 342			}/*Fin foreach actos*/
 343			
 344			
 345		}
 346		
 347		
 348		/* Trae todos los datos de fuenteInfoPersonal*/
 349		$this->db->select('*');
 350		$this->db->from('fuenteInfoPersonal');
 351		$this->db->where('casos_casoId',$casoId);
 352		$consulta = $this->db->get();
 353					
 354		if ($consulta->num_rows() > 0){				
 355			/* Pasa la consulta a un cadena */
 356			foreach ($consulta->result_array() as $row) {
 357				$datos['fuenteInfoPersonal'][$row['fuenteInfoPersonalId']] = $row;
 358				
 359				//print_r($row);
 360				if(isset($row['actorReportado'])){
 361						$this->db->select('actorId,nombre,apellidosSiglas');
 362						$this->db->from('actores');
 363						$this->db->where('actorId',$row['actorReportado']);
 364						$consultaActorReportado = $this->db->get();
 365						
 366						if ($consultaActorReportado->num_rows() > 0){
 367							foreach ($consultaActorReportado->result_array() as $row2) {
 368								$datosActorReportado = $row2;
 369							}
 370							
 371							$datos['fuenteInfoPersonal'][$row['fuenteInfoPersonalId']]['actorReportadoNombre'] = $datosActorReportado['nombre'];
 372							$datos['fuenteInfoPersonal'][$row['fuenteInfoPersonalId']]['actorReportadoApellidosSiglas'] = $datosActorReportado['apellidosSiglas'];
 373						}	
 374					}
 375				
 376				$this->db->select('*');
 377				$this->db->from('casos_has_actores');
 378				$this->db->where('actores_actorId',$row['actorReportado']);
 379				$consultaCasosActor = $this->db->get();
 380				
 381				if($consultaCasosActor->num_rows() > 0){
 382					foreach ($consultaCasosActor->result_array() as $valor) {
 383						//print_r($valor);
 384						$datos['fuenteInfoPersonal'][$row['fuenteInfoPersonalId']]['casosActorReportado'][$valor['casoActorId']]=$valor;
 385					}
 386				}
 387
 388				$this->db->select('*');
 389				$this->db->from('casos_has_actores');
 390				$this->db->where('actores_actorId',$row['actorId']);
 391				$consultaCasosActor = $this->db->get();
 392				
 393				if($consultaCasosActor->num_rows() > 0){
 394					foreach ($consultaCasosActor->result_array() as $valor) {
 395						//print_r($valor);
 396						$datos['fuenteInfoPersonal'][$row['fuenteInfoPersonalId']]['casosActor'][$valor['casoActorId']]=$valor;
 397					}
 398				}
 399				
 400			}/*fin foreach consulta de fuenteInfoPersonal */
 401			
 402			
 403			
 404		}
 405		
 406		/* Trae todos los datos de fuenteInfoDocumental*/
 407		$this->db->select('*');
 408		$this->db->from('tipoFuenteDocumental');
 409		$this->db->where('casos_casoId',$casoId);
 410		$consulta = $this->db->get();
 411					
 412		if ($consulta->num_rows() > 0){				
 413			/* Pasa la consulta a un cadena */
 414			foreach ($consulta->result_array() as $row) {
 415				$datos['tipoFuenteDocumental'][$row['tipoFuenteDocumentalId']] = $row;
 416				//print_r($row);
 417				if(isset($row['actorReportado'])){
 418						$this->db->select('actorId,nombre,apellidosSiglas');
 419						$this->db->from('actores');
 420						$this->db->where('actorId',$row['actorReportado']);
 421						$consultaActorReportado = $this->db->get();
 422						
 423						if ($consultaActorReportado->num_rows() > 0){
 424							foreach ($consultaActorReportado->result_array() as $row2) {
 425								$datosActorReportado = $row2;
 426							}
 427							
 428							$datos['tipoFuenteDocumental'][$row['tipoFuenteDocumentalId']]['actorReportadoNombre'] = $datosActorReportado['nombre'];
 429							$datos['tipoFuenteDocumental'][$row['tipoFuenteDocumentalId']]['actorReportadoApellidosSiglas'] = $datosActorReportado['apellidosSiglas'];
 430						}	
 431				}
 432				$this->db->select('*');
 433				$this->db->from('casos_has_actores');
 434				$this->db->where('actores_actorId',$row['actorReportado']);
 435				$consultaCasosActor = $this->db->get();
 436				
 437				if($consultaCasosActor->num_rows() > 0){
 438					foreach ($consultaCasosActor->result_array() as $valor) {
 439						//print_r($valor);
 440						$datos['tipoFuenteDocumental'][$row['tipoFuenteDocumentalId']]['casosActor'][$valor['casoActorId']]=$valor;
 441					}
 442				}/*Fin if de consultaCasosActor*/
 443				
 444			}
 445		}
 446		
 447		if (isset($datos)) {
 448			return $datos;
 449		}else{
 450			return $mensaje = 'No hay datos en la base de datos';
 451		}
 452		
 453	}/* Fin de mTraer DatosCaso*/
 454	
 455	/* Ese modelo lista los casos */
 456	 public function mListaCasos(){
 457	 	
 458             $this->db->select('*');
 459		
 460             $this->db->from('casos');
 461			 
 462			 $this->db->where('estadoActivo', 1);
 463
 464			 $this->db->order_by('nombre','asc');
 465		
 466             $casos = $this->db->get();
 467		
 468             //Pasa la consulta a un cadena */
 469		
 470             if($casos->num_rows() != 0){
 471		
 472                 foreach($casos->result_array() as $key => $value){
 473		
 474                     $listaCasos[$value['casoId']] = $value;
 475			
 476                }
 477		
 478                /* Regresa la cadena al controlador */
 479              
 480                return $listaCasos;
 481		
 482            }else{
 483	
 484                return ($listaCasos['mensaje'] = 'Aún no tienes casos en la base de datos');
 485            
 486            }
 487		
 488		 
 489	 }/* Fin de mListaCasos*/
 490	 
 491	/* Este modelo actualiza los datos de un caso
 492	 * @param ($casoId, $datosCaso)
 493	 * */	
 494	public function mActualizaDatosCaso($casoId,$datosCaso){
 495		
 496		$this->db->where('casoId', $casoId);
 497		if($this->db->update('casos',$datosCaso['tablas']['casos'])){
 498		
 499			foreach($datosCaso['tablas'] as $key => $value){
 500				if($key != 'casos'){
 501					$this->db->where('casos_casoId', $casoId);
 502					$this->db->update($key,$datosCaso['tablas'][$key]);
 503				}
 504			}
 505				
 506			/* Regresa la cadena al controlador*/
 507			return ($mensaje = 'Hecho');
 508			
 509		}else{
 510			
 511			$mensaje['error'] = $this->db->_error_message();
 512			/* Regresa la cadena al controlador*/
 513        	return $mensaje;
 514		}
 515		
 516	}/* Fin de mActualisaDatosCaso */
 517	
 518	/* Este modelo cambia el estado de un caso a inactivo, en lugar de eliminarlo de la base de datos
 519	 * @param ($casoId)
 520	 * */
 521	
 522	public function mCambiaEstadoActivoCaso($casoId){
 523
 524		$estado = array('estadoActivo' => 0);
 525		
 526		$this->db->select('nombre');
 527		$this->db->from('casos');
 528		$this->db->where('casoId',$casoId);
 529		
 530		$consulta = $this->db->get();
 531		
 532		if($consulta->num_rows() > 0){
 533			$this->db->where('casoId', $casoId);
 534			$this->db->update('casos',$estado);
 535			$mensaje = $casoId.$estado;
 536			/* Regresa la cadena al controlador*/
 537			return ($mensaje = $mensaje .'Hecho');
 538		}else{
 539			return '0';
 540			
 541		}
 542			
 543	}/* Fin de mCambiaEstadoActivoCaso */
 544	
 545	
 546	 /* Este modelo edita una ficha
 547	 *@ $datos = array(
 548                  
 549				  'titulo' => 'ficha 1 actualizado',
 550				  'fecha' => '1988-04-07',
 551				  'comentarios' => 'comentarios ficha 1' ,
 552				  );
 553				   
 554	 *@ $fichaId [INT]
 555	 * */
 556	 public function mActualizaDatosFicha($datos,$fichaId){
 557		
 558		$this->db->where('fichaId', $fichaId);
 559		if($this->db->update('fichas',$datos)){
 560			/* Regresa la cadena al controlador*/
 561			return ($mensaje = 'Hecho');
 562		}else{
 563			$mensaje['error'] = $this->db->_error_message();
 564			/* Regresa la cadena al controlador*/
 565        	return $mensaje;
 566		}
 567	 }/* Fin de mActualizaDatosLugar*/
 568	
 569	/* Este modelo elimina una ficha relacionada a un caso
 570	 * @param ($fichaId)
 571	 * */
 572	
 573	public function mEliminaFicha($fichaId){
 574		
 575		/*Eliminamos los registros asociados a una ficha */	
 576		$this->db->where('fichas_fichaId', $fichaId);	
 577		$this->db->delete('registro');
 578			
 579		/*Elimina la ficha asociada al $fichaId*/
 580		$this->db->where('fichaId', $fichaId);
 581	
 582		if($this->db->delete('fichas')){
 583		
 584			/* Regresa la cadena al controlador*/
 585			return ($mensaje = 'Hecho');
 586			
 587		}else{
 588			
 589			$mensaje['error'] = $this->db->_error_message();
 590			/* Regresa la cadena al controlador*/
 591        	return $mensaje;
 592		}	
 593		
 594	}/*Fin de mEliminaFichas*/
 595	
 596	/* Este modelo elimina la relacion en un caso de una intervención
 597	 * @param ($intervencionId)
 598	 * */
 599	
 600	public function mEliminaIntervenciones($intervencionId){
 601
 602		$this->db->where('intervenciones_intervencionId', $intervencionId);
 603
 604		if($this->db->delete('intervenidos')){
 605		
 606				
 607			$this->db->where('intervencionId', $intervencionId);
 608			
 609			if($this->db->delete('intervenciones')){
 610			
 611				/* Regresa la cadena al controlador*/
 612				return ($mensaje = 'Hecho');
 613				
 614			}else{
 615				
 616				$mensaje['error'] = $this->db->_error_message();
 617				/* Regresa la cadena al controlador*/
 618	        	return $mensaje;
 619			}
 620			
 621		}else{
 622			
 623			$mensaje['error'] = $this->db->_error_message();
 624			/* Regresa la cadena al controlador*/
 625        	return $mensaje;
 626		}
 627		
 628		
 629	}/*Fin de mEliminaIntervenciones*/
 630	
 631			
 632	/* Este modelo elimina la relacion en un caso de un perpetrador
 633	 * @param ($actoId)
 634	 * */
 635	
 636	public function mEliminaActo($actoId){
 637		
 638		$this->db->where('actoId', $actoId);
 639		
 640		if($this->db->delete('actos')){
 641			
 642			/* Regresa la cadena al controlador*/
 643			return ($mensaje = 'Hecho');
 644			
 645		}else{
 646			
 647			$mensaje['error'] = $this->db->_error_message();
 648			/* Regresa la cadena al controlador*/
 649        	return $mensaje;
 650		}
 651		
 652	}/*Fin de mEliminaActo*/
 653
 654	/*Este modelo relaciona dos actores
 655     * @param $datos 
 656     * */
 657    public function mRelacionaCasos($datos){
 658
 659	    if($this->db->insert('relacionCasos',$datos)){
 660		    /* Regresa la cadena al controlador*/
 661		    return ($mensaje = 'Hecho');
 662			
 663		}else{
 664			
 665			$mensaje['error'] = $this->db->_error_message();
 666			/* Regresa la cadena al controlador*/
 667        	return $mensaje;
 668		}
 669    }/* Fin de mRelacionaActores */
 670   
 671	/*Este modelo elimina todas las relaciones caso-caso
 672	 * @param $relacionId
 673	 * */
 674   	public function mEliminaRelacionCasos($relacionId){
 675
 676	    $this->db->where('relacionId', $relacionId);
 677		
 678		if($this->db->delete('relacionCasos')){
 679			
 680	    /* Regresa la cadena al controlador*/
 681	    return ($mensaje = 'Hecho');
 682		
 683		}else{
 684			$mensaje['error'] = $this->db->_error_message();
 685			/* Regresa la cadena al controlador*/
 686        	return $mensaje;
 687		}
 688    }/* Fin de mEliminaRelacionCasos */	
 689    
 690    /* Este modelo trae todas las relaciones caso-caso
 691	 * @param $casoId
 692	 * */
 693    public function mTraeRelacionesCaso($casoId){
 694		
 695		/*Trae datos relacion directa*/	
 696		$this->db->select('*');
 697		$this->db->from('relacionCasos');
 698		$this->db->where('casos_casoId',$casoId);
 699		
 700		$consulta = $this->db->get();
 701		
 702		if ($consulta->num_rows() > 0){				
 703				/* Pasa la consulta a un cadena */
 704				foreach ($consulta->result_array() as $row) {
 705					
 706                    $relaciones[$row['casoIdB']] = $row;
 707                    //$relaciones[$casoId]['casoIdB'] = $this->db->select('*')->from('casos')->where('casoId', $row['casoIdB'])->get()->result_array();
 708					
 709
 710					$this->db->select('nombre,fechaInicial,fechaTermino');
 711					$this->db->from('casos');
 712					$this->db->where('casoId', $row['casoIdB']);
 713					$consultaCaso = $this->db->get();
 714					// echo 'hola';
 715					// print_r($consultaCaso->resul_array());
 716					if ($consultaCaso->num_rows() > 0){
 717						foreach ($consultaCaso->result_array() as $row3) {
 718							$nombreCaso = $row3;
 719						}	
 720						
 721						
 722						$relaciones[$row['casoIdB']]['nombreCasoIdB'] = $nombreCaso['nombre']; 
 723						$relaciones[$row['casoIdB']]['fechaIncial'] = $nombreCaso['fechaInicial'];
 724						$relaciones[$row['casoIdB']]['fechaTermino'] = $nombreCaso['fechaTermino'];
 725					}
 726					
 727					
 728					
 729					
 730				}
 731		}
 732	
 733		/*Trae datos relacion citada*/
 734		$this->db->select('*');
 735		$this->db->from('relacionCasos');
 736		$this->db->where('casoIdB',$casoId);
 737		
 738		$consulta = $this->db->get();
 739		
 740		if ($consulta->num_rows() > 0){				
 741				/* Pasa la consulta a un cadena */
 742				foreach ($consulta->result_array() as $row) {
 743                    $relacionesIdB[$casoId] = $row;
 744                    //$relacionesIdB[$casoId]['casoIdB'] = $this->db->select('*')->from('casos')->where('casoId', $row['casos_casoId'])->get()->result_array();
 745					
 746					$this->db->select('nombre,fechaInicial,fechaTermino');
 747					$this->db->from('casos');
 748					$this->db->where('casoId', $row['casos_casoId']);
 749					$consultaCaso = $this->db->get();
 750					
 751					if ($consultaCaso->num_rows() > 0){
 752						foreach ($consultaCaso->result_array() as $row3) {
 753							$nombreCaso = $row3;
 754						}	
 755					}
 756					
 757					$relacionesIdB[$casoId]['nombreCasoId'] = $nombreCaso['nombre']; 
 758					$relacionesIdB[$casoId]['fechaIncialCasoId'] = $nombreCaso['fechaInicial'];
 759					$relacionesIdB[$casoId]['fechaTerminoCasoId'] = $nombreCaso['fechaTermino'];
 760					
 761				}
 762		}
 763
 764
 765		if(isset($relaciones) && isset($relacionesIdB)){
 766			$lista = array_merge($relaciones, $relacionesIdB);
 767			return $lista;
 768			
 769		}else{
 770			if (isset($relaciones)) {
 771				return $relaciones;
 772				
 773			} elseif (isset($relacionesIdB)) {
 774				return $relacionesIdB;
 775			}else{
 776				return 0;
 777			}
 778		}/*fin else*/		
 779			
 780	}/* Fin de mTraeRelacionesCaso 	*/
 781	
 782	/* Actualiza los datos de una relacion caso-caso
 783	 * @param $relacionId $datosRelacion
 784	 * */
 785	public function mActualizaDatosRelacionCaso($relacionId,$datosRelacion){
 786		
 787		$this->db->where('relacionId', $relacionId);
 788		
 789		if($this->db->update('relacionCasos',$datosRelacion)){
 790			/* Regresa la cadena al controlador*/
 791			return ($mensaje = 'Hecho');
 792			
 793		}else{
 794			$mensaje['error'] = $this->db->_error_message();
 795				/* Regresa la cadena al controlador*/
 796            	return $mensaje;
 797		}
 798	}/* Fin de mActualizaDatosRelacionCaso */
 799	
 800	/*Este modelo lista los modelos por una cadena en el campo nombre */
 801	public function mBuscarCasosNombre($cadena){
 802			
 803			$this->db->select('casoId, nombre');
 804			$this->db->from('casos');
 805			$this->db->like('nombre', $cadena);
 806			$this->db->where('estadoActivo',1);
 807			$consulta = $this->db->get();
 808			if($consulta->num_rows() > 0){
 809				/* Pasa la consulta a un cadena */
 810				foreach ($consulta->result_array() as $key => $value) {
 811					$datos[$value['casoId']] = $value;
 812				}
 813				
 814				/* Regresa la cadena al controlador*/
 815				return $datos;
 816			}else{
 817				return ($mensaje = '0');
 818			}
 819
 820			
 821	}/* Fin de mBuscarCasosNombre() */	
 822	
 823	/* Este modelo Agrega la informacion de Derechos Afectado
 824	 * @param:
 825	 * $datos = array (derechoAfectado => array (
 826	 * 									fechaInicial => '1879-12-01',...
 827	 * 									),
 828	 * 				   actos => array (
 829	 * 									actoVilolatorioId => 1,
 830	 * 									actoViolatorioNivel => 2,....
 831	 * 									));
 832	 * */
 833	
 834	public function mAgregarDerechosAfectados($datos){
 835		
 836		$this->db->insert('derechoAfectado', $datos['derechoAfectado']);
 837        $obtener_id = $this->db->select_max('derechoAfectadoCasoId')->from('derechoAfectado')->get();
 838		
 839		if($obtener_id->num_rows() > 0){
 840	        foreach ($obtener_id->result_array() as $row) {
 841	            $derechoAfectadoCasoId = $row['derechoAfectadoCasoId'];
 842	        }
 843	    }/* Fin de obtener_id */
 844	    
 845	    foreach($datos as $tabla => $campo){
 846                
 847            if($tabla != 'derechoAfectado' && (!empty($tabla))){
 848                
 849                $datos[$tabla]['derechoAfectado_derechoAfectadoCasoId'] = $derechoAfectadoCasoId;
 850                $this->db->insert($tabla, $datos[$tabla]);
 851            }
 852     	}/* Fin foreach tabla */
 853     	
 854	    return $derechoAfectadoCasoId;
 855	}/* Fin de mAgregarDerechosAfectados */
 856	
 857	
 858	/* Este modelo elimina un derecho afectado antes borrando actos, victimas, perpetradores asociados a un acto, si existen */
 859	public function mEliminaDerechoAfectadoCaso($derechoAfectadoCasoId)
 860	{
 861		/* Trae los actos asociados asociados a un derecho afectado */
 862		$this->db->select('actoId');
 863		$this->db->from('actos');
 864		$this->db->where('derechoAfectado_derechoAfectadoCasoId',$derechoAfectadoCasoId);
 865		$consultaActos = $this->db->get();
 866		
 867		if($consultaActos->num_rows() > 0){
 868			/* Pasa la consulta a un cadena */
 869			foreach ($consultaActos->result_array() as $row){
 870				//$datos['actos'][$row['actoId']] = $row;
 871				
 872				/* Trae las victimas asociadas a un acto */
 873				
 874				$this->db->select('victimaId');
 875				$this->db->from('victimas');
 876				$this->db->where('actos_actoId',$row['actoId']);
 877				$consultaVictimas = $this->db->get();
 878				
 879				if($consultaVictimas->num_rows() > 0){
 880					/* Pasa la consulta a un cadena */
 881					foreach ($consultaVictimas->result_array() as $row2){
 882						//$datos['victmas'][$row2['victimaId']] = $row2;
 883						
 884						 /* Elimina un perpetrador asiciado a una victima */
 885						$this->mEliminaPerpetradoresVictima($row2['victimaId']);		
 886					}
 887				}/* fin de if consultaVictimas */
 888				
 889				/* Elimina una victima asociada a un acto */
 890				$this->mEliminaVictimasActo($row['actoId']);
 891						
 892			}/* fin foreach consultaActos */
 893			
 894			/* Elimina un acto asociado a un derecho Afectado */
 895			$this->mEliminaActosDerechoAfectado($derechoAfectadoCasoId);
 896			/* Elimina un derecho afectado asociado a un caso */
 897			
 898		}
 899			
 900		$this->db->where('derechoAfectadoCasoId', $derechoAfectadoCasoId);
 901	
 902		if($this->db->delete('derechoAfectado')){
 903			/* Regresa la cadena al controlador*/
 904			return ($mensaje = 'Hecho');
 905			
 906		}else{
 907			
 908			$mensaje['error'] = $this->db->_error_message();
 909			/* Regresa la cadena al controlador*/
 910        	return $mensaje;
 911			
 912		}
 913			
 914	}/*fin de mEliminaDerechoAfectadoCaso */	
 915	
 916	public function mEliminaActosPerpetrador($perpetradorVictimaId){
 917		
 918		$this->db->where('perpetradores_perpetradorVictimaId', $perpetradorVictimaId);
 919		
 920		if($this->db->delete('actosPerpetrador')){
 921			
 922			/* Regresa la cadena al controlador*/
 923			return ($mensaje = 'Hecho');
 924			
 925		}else{
 926			
 927			$mensaje['error'] = $this->db->_error_message();
 928			/* Regresa la cadena al controlador*/
 929        	return $mensaje;
 930		}
 931	}/* fin de mEliminaActosPerpetrador*/
 932	
 933	
 934	/* Este modelo edita un DerechoAfectado
 935	 *@ $datos = array(
 936                  
 937				  'fecha' => '1988-04-07',
 938				  'fechaAcceso' => '1988-06-10',
 939				  'observaciones' => 'obs',
 940				  'actorReportado' => 1 ,
 941				  );
 942	 *@ $tipoFuenteDocumentalId [INT]
 943	 * */
 944	 public function mActualizaDatosDerechoAfectado($datos,$derechoAfectadoCasoId){
 945		
 946		$this->db->where('derechoAfectadoCasoId', $derechoAfectadoCasoId);
 947		if($this->db->update('derechoAfectado',$datos)){
 948			/* Regresa la cadena al controlador*/
 949			return ($mensaje = 'Hecho');
 950		}else{
 951			$mensaje['error'] = $this->db->_error_message();
 952			/* Regresa la cadena al controlador*/
 953        	return $mensaje;
 954		}
 955	 }/* Fin de mActualizaDatosDerechoAfectado */
 956	
 957	/*Este modelo Agrega un acto a un derecho afectado
 958	 * @param
 959	 * 
 960	 * */
 961	 public function mAgregarActoDerechoAfectado($datos){
 962		
 963		if($this->db->insert('actos', $datos)){
 964			return ($mensaje = 'Hecho');
 965		}else{
 966			$mensaje['error'] = $this->db->_error_message();
 967			/* Regresa la cadena al controlador*/
 968        	return $mensaje;
 969		}
 970	 }/* Fin de mAgregarActoDerechoAfectado */
 971	
 972	
 973	/* Este modelo edita un Acto
 974	 *@ $datos = array(
 975                  
 976				  'actoViolatorioId' => 1,
 977				  'actoViolatorioNivel' => 2
 978				  );
 979	 *@ $actoId [INT]
 980	 * */
 981	 public function mActualizaDatosActo($datos,$actoId){
 982		
 983		$this->db->where('actoId', $actoId);
 984		if($this->db->update('actos',$datos)){
 985			/* Regresa la cadena al controlador*/
 986			return ($mensaje = 'Hecho');
 987		}else{
 988			$mensaje['error'] = $this->db->_error_message();
 989			/* Regresa la cadena al controlador*/
 990        	return $mensaje;
 991		}
 992	 }/* Fin de mActualizaDatosActo */
 993	 
 994	 /* Este modelo elimina los actos de un derechoAfectado 
 995	  * @param
 996	  * $derechoAfectadoCasoId [INT]
 997	  * */
 998	 public function mEliminaActosDerechoAfectado($derechoAfectadoCasoId){
 999	 	$this->db->where('derechoAfectado_derechoAfectadoCasoId', $derechoAfectadoCasoId);
1000		
1001		if($this->db->delete('actos')){
1002			/* Regresa la cadena al controlador*/
1003			return ($mensaje = 'Hecho');
1004			
1005		}else{
1006			
1007			$mensaje['error'] = $this->db->_error_message();
1008			/* Regresa la cadena al controlador*/
1009        	return $mensaje;
1010			
1011		}
1012	 }/* fin de mEliminaActosDerechoAfectado */
1013	 
1014	 /* Este modelo elimina una acto a un derechoAfectado 
1015	  * @param
1016	  * $actoId [INT]
1017	  * */
1018	 public function mEliminaActoDerechoAfectado($actoId){
1019	 	
1020		/* Trae las victimas asociadas a un acto */
1021				
1022		$this->db->select('victimaId');
1023		$this->db->from('victimas');
1024		$this->db->where('actos_actoId',$actoId);
1025		$consultaVictimas = $this->db->get();
1026		
1027		if($consultaVictimas->num_rows() > 0){
1028			/* Pasa la consulta a un cadena */
1029			foreach ($consultaVictimas->result_array() as $row2){
1030				//$datos['victmas'][$row2['victimaId']] = $row2;
1031				
1032				/* Trae los perpetradores asociados a una victima */
1033				$this->db->select('perpetradorVictimaId');
1034				$this->db->from('perpetradores');
1035				$this->db->where('victimas_victimaId',$row2['victimaId']);
1036				$consultaPerpetradores = $this->db->get();
1037				
1038				if($consultaPerpetradores->num_rows() > 0){
1039					/* Pasa la consulta a un cadena */
1040					foreach ($consultaPerpetradores->result_array() as $row3){
1041						//$datos['perpetradores'][$row3['perpetradorVictimaId']] = $row3;
1042						/* Elimina la relacion de un perpetrador con un acto */
1043						$this->mEliminaActosPerpetrador($row3['perpetradorVictimaId']);
1044						 
1045					}/* fin foreach consultaPerpetradores*/
1046					
1047				}/*fin de if consultaPerpetradores */
1048					
1049				 /* Elimina un perpetrador asiciado a una victima */
1050				$this->mEliminaPerpetradoresVictima($row2['victimaId']);		
1051			}
1052		}/* fin de if consultaVictimas */
1053		
1054		/* Elimina una victima asociada a un acto */
1055		$this->mEliminaVictimasActo($actoId);
1056		
1057		$this->db->where('actoId', $actoId);
1058
1059		if($this->db->delete('actos')){
1060			/* Regresa la cadena al controlador*/
1061			return ($mensaje = 'Hecho');
1062			
1063		}else{
1064			
1065			$mensaje['error'] = $this->db->_error_message();
1066			/* Regresa la cadena al controlador*/
1067        	return $mensaje;
1068			
1069		}
1070				
1071		
1072	 }/* fin de mEliminaActoDerechoAfectado */
1073	 
1074	 
1075	 /*Este modelo Agrega una victima a un acto 
1076	 * @param
1077	 * $datos = array(
1078                  
1079				  'actorId' => 1,
1080				  'estatusVictimaId' =>1,
1081				  'actos_actoId' => 1 
1082				  );
1083	 * */
1084	 public function mAgregarVictimaActo($datos){
1085		
1086		if($this->db->insert('victimas', $datos)){
1087			
1088			$obtener_id = $this->db->select_max('victimaId')->from('victimas')->get();
1089            
1090            if($obtener_id->num_rows() > 0){
1091                
1092                foreach ($obtener_id->result_array() as $row) {
1093                
1094                    $victimaId = $row['victimaId'];
1095        	
1096                }
1097                
1098            }
1099			return $victimaId;
1100
1101		}else{
1102			$mensaje['error'] = $this->db->_error_message();
1103			/* Regresa la cadena al controlador*/
1104        	return $mensaje;
1105		}
1106	 }/* Fin de mAgregarVictimaCaso */
1107	 
1108	 /* Este modelo edita una Victima
1109	 *@ $datos = array(
1110                  
1111				  'actorId' => 1,
1112				  'estatusVictimaId' => 2
1113				  );
1114	 *@ $victimaId [INT]
1115	 * */
1116	 public function mActualizaDatosVictima($datos,$victimaId){
1117		
1118		$this->db->where('victimaId', $victimaId);
1119		if($this->db->update('victimas',$datos)){
1120			/* Regresa la cadena al controlador*/
1121			return ($mensaje = 'Hecho');
1122		}else{
1123			$mensaje['error'] = $this->db->_error_message();
1124			/* Regresa la cadena al controlador*/
1125        	return $mensaje;
1126		}
1127	 }/* Fin de mActualizaDatosVictima */
1128	 
1129	 /* Este modelo elimina todas las victimas de un acto 
1130	  * @param
1131	  * $actoId [INT]
1132	  * */
1133	 public function mEliminaVictimasActo($actoId){
1134	 	$this->db->where('actos_actoId', $actoId);
1135		
1136		if($this->db->delete('victimas')){
1137			/* Regresa la cadena al controlador*/
1138			return ($mensaje = 'Hecho');
1139			
1140		}else{
1141			
1142			$mensaje['error'] = $this->db->_error_message();
1143			/* Regresa la cadena al controlador*/
1144        	return $mensaje;
1145			
1146		}
1147	 }/* fin de mEliminaVictimasActo*/
1148	 
1149	 /* Este modelo elimina una victma a un acto 
1150	  * @param
1151	  * $victimaId [INT]
1152	  * */
1153	 public function mEliminaVictimaActo($victimaId){
1154
1155	 	$this->db->where('victimas_victimaId',$victimaId);
1156
1157	 	$this->db->delete('perpetradores');
1158
1159
1160	 	$this->db->where('victimaId', $victimaId);
1161
1162		if($this->db->delete('victimas')){
1163			/* Regresa la cadena al controlador*/
1164			return ($mensaje = 'Hecho');
1165			
1166		}else{
1167			
1168			$mensaje['error'] = $this->db->_error_message();
1169			/* Regresa la cadena al controlador*/
1170        	return $mensaje;
1171			
1172		}
1173	 }/* fin de mEliminaVictimasActo*/
1174	 
1175	 
1176	 /*Este modelo Agrega una perpetrador a una victima 
1177	 * @param
1178	 * 
1179	 * */
1180	 public function mAgregarPerpetradorVictima($datos){
1181		
1182		if($this->db->insert('perpetradores', $datos)){
1183			return ($mensaje = 'Hecho');
1184		}else{
1185			$mensaje['error'] = $this->db->_error_message();
1186			/* Regresa la cadena al controlador*/
1187        	return $mensaje;
1188		}
1189	 }/* Fin de mAgregarPerpetradorVictima */
1190	 
1191	 /* Este modelo edita un perpetrador
1192	 *@ 
1193	 *@ $perpetradorId [INT]
1194	 * */
1195	 public function mActualizaDatosPerpetrador($datos,$perpetradorId){
1196		
1197		$this->db->where('perpetradorVictimaId', $perpetradorId);
1198		if($this->db->update('perpetradores',$datos)){
1199			/* Regresa la cadena al controlador*/
1200			return ($mensaje = 'Hecho');
1201		}else{
1202			$mensaje['error'] = $this->db->_error_message();
1203			/* Regresa la cadena al controlador*/
1204        	return $mensaje;
1205		}
1206	 }/* Fin de mActualizaDatosPerpetrador */
1207	 
1208	 
1209	 /* Este modelo elimina un perpetrador a un avictima 
1210	  * @param
1211	  * $victimaId [INT]
1212	  * */
1213	 public function mEliminaPerpetradoresVictima($victimaId){
1214	 	$this->db->where('victimas_victimaId', $victimaId);
1215		
1216		if($this->db->delete('perpetradores')){
1217			/* Regresa la cadena al controlador*/
1218			return ($mensaje = 'Hecho');
1219			
1220		}else{
1221			
1222			$mensaje['error'] = $this->db->_error_message();
1223			/* Regresa la cadena al controlador*/
1224        	return $mensaje;
1225			
1226		}
1227	 }/* fin de mEliminaPerpetradorVictima */
1228	 
1229	 /* Este modelo elimina un perpetrador a un avictima 
1230	  * @param
1231	  * $perpetradorVictimaId [INT]
1232	  * */
1233	 public function mEliminaPerpetradorVictima($perpetradorVictimaId){
1234	 	
1235		/* Elimina el la relacion entre un acto y un perpetrador */
1236		//$this->mEliminaActosPerpetrador($perpetradorVictimaId);
1237		
1238	 	$this->db->where('perpetradorVictimaId',$perpetradorVictimaId);
1239		
1240		if($this->db->delete('perpetradores')){
1241			/* Regresa la cadena al controlador*/
1242			return ($mensaje = 'Hecho');
1243			
1244		}else{
1245			
1246			$mensaje['error'] = $this->db->_error_message();
1247			/* Regresa la cadena al controlador*/
1248        	return $mensaje;
1249			
1250		}
1251		
1252	 }/* fin de mEliminaPerpetradorVictima */
1253	 
1254	/* Este modelo Agrega la informacion de una intervencion
1255	 * 
1256	 * 
1257	 * */
1258	
1259	public function mAgregarIntervenciones($datos){
1260		
1261		if($this->db->insert('intervenciones', $datos['intervencion'])){
1262			$obtener_id = $this->db->select_max('intervencionId')->from('intervenciones')->get();
1263			
1264			if($obtener_id->num_rows() > 0){
1265		        foreach ($obtener_id->result_array() as $row) {
1266		            $intervencionId = $row['intervencionId'];
1267		        }
1268		    }/* Fin de obtener_id */
1269		    
1270		    return $intervencionId;
1271		}else{
1272			
1273			$mensaje['error'] = $this->db->_error_message();
1274			/* Regresa la cadena al controlador*/
1275        	return $mensaje;
1276			
1277		}
1278        
1279		
1280	}/* fin de mAgregarIntervenciones */
1281	
1282	/* Este modelo edita una intervencion
1283	 *@ $datos = array(
1284                  
1285				  'tipoIntervencionId' => 1,
1286				  'IntervencionNId' => 2
1287				  );
1288	 *@ $intervencionId [INT]
1289	 * */
1290	 public function mActualizaDatosIntervencion($datos,$intervencionId){
1291		$this->db->where('intervencionId', $intervencionId);
1292		if($this->db->update('intervenciones',$datos)){
1293			/* Regresa la cadena al controlador*/
1294			return ($mensaje = 'Hecho');
1295		}else{
1296			$mensaje['error'] = $this->db->_error_message();
1297			/* Regresa la cadena al controlador*/
1298        	return $mensaje;
1299		}
1300	 }/* Fin de mActualizaDatosintervencion */
1301	 
1302	 /* Este modelo agrega un intervenido a una intervencion 
1303	  * @param:
1304	  * 
1305	  * $datosIntervenido = array (
1306	  * 				relacionId => 1,
1307	  * 				tipoRelacionId => 1,
1308	  * 				comentarios => '',
1309	  * 				observacines => '',
1310	  * 				intervenciones_intervencionId => 1
1311	  * );
1312	  * 
1313	  * */
1314	 public function mAgregarIntervenidoIntervenciones($datosIntervenidos){
1315	 	
1316		
1317			/* inserta el array $datosIntervenidos en la tabla de intervenidos de la BD */
1318			if($this->db->insert('intervenidos', $datosIntervenidos)){
1319				
1320				/* Regresa la cadena al controlador*/
1321				return $mensaje='Hecho';
1322			}else{
1323			
1324				$mensaje['error'] = $this->db->_error_message();
1325				/* Regresa la cadena al controlador*/
1326	        	return $mensaje;
1327				
1328			} 
1329			
1330			
1331	 }
1332	 
1333	 /*Este modelo elimina un intervenido*/
1334	 public function mEliminarIntervenido($intervenidoId) {
1335		 
1336		$this->db->where('intervenidoId', $intervenidoId);
1337		
1338		if($this->db->delete('intervenidos')){
1339			/* Regresa la cadena al controlador*/
1340			return ($mensaje = 'Hecho');
1341			
1342		}else{
1343			
1344			$mensaje['error'] = $this->db->_error_message();
1345			/* Regresa la cadena al controlador*/
1346        	return $mensaje;
1347			
1348		} 
1349		 
1350	 }
1351	 /* Este modelo edita una intervencion
1352	 *@ $datos = array(
1353                  
1354				  'relacionId' => 1,
1355				  'tipoRelacionId' => 2
1356				  );
1357	 *@ $intervenidoId [INT]
1358	 * */
1359	 public function mActualizaDatosIntervenido($datos,$intervenidoId){
1360		
1361		$this->db->where('intervenidoId', $intervenidoId);
1362		if($this->db->update('intervenidos',$datos)){
1363			/* Regresa la cadena al controlador*/
1364			return ($mensaje = 'Hecho');
1365		}else{
1366			$mensaje['error'] = $this->db->_error_message();
1367			/* Regresa la cadena al controlador*/
1368        	return $mensaje;
1369		}
1370	 }/* Fin de mActualizaDatosintervencion */
1371	
1372	/* Este modelo trae los id's de los casos relaciones con un actor*/
1373		public function mTraerActoresRelacionadosCaso($casoId){
1374			$this->db->select('actores_actorId');
1375			$this->db->from('casos_has_actores');
1376			$this->db->where('casos_casoId',$casoId);
1377			$consulta = $this->db->get();
1378			
1379			if ($consulta->num_rows() > 0){
1380				foreach ($consulta->result_array() as $row) {
1381					$actores[$row['actores_actorId']]=$row;
1382				}
1383				
1384				return $actores;
1385			}else{
1386				return '0';
1387			}
1388		}/* Fin de mTraeCasosRelacionadosActor */
1389		
1390	/*
1391	 * Este modelo edita un lugar
1392	 *@ $datos = array(
1393                  
1394				  'paisesCatalogo_paisId' => '2',
1395				  'estadosCatalogo_estadoId' => '3',
1396				  'municipiosCatalogo_municipioId' => '4' ,
1397				  );
1398	 *@ $luagarId [INT]
1399	 * */
1400	 public function mActualizaDatosLugar($datos,$lugarId){
1401		
1402		$this->db->where('lugarId', $lugarId);
1403		if($this->db->update('lugares',$datos)){
1404			/* Regresa la cadena al controlador*/
1405			return ($mensaje = 'Hecho');
1406		}else{
1407			$mensaje['error'] = $this->db->_error_message();
1408			/* Regresa la cadena al controlador*/
1409        	return $mensaje;
1410		}
1411	 }/* Fin de mActualizaDatosLugar*/
1412	 
1413	 public function mEliminaLugar($lugarId){
1414
1415		$this->db->where('lugarId', $lugarId);
1416		if($this->db->delete('lugares')){
1417			/* Regresa la cadena al controlador*/
1418			return ($mensaje = 'Hecho');
1419			
1420		}else{
1421			
1422			$mensaje['error'] = $this->db->_error_message();
1423			/* Regresa la cadena al controlador*/
1424        	return $mensaje;
1425			
1426		} 
1427	 }/* Fin de mEliminaLugar*/
1428	 
1429	 /* Este modelo edita un fuenteInfoPersonal
1430	 *@ $datos4 = array(
1431                  
1432				  'actorId' => 1,
1433				  'fecha' => '1988-04-07',
1434				  'actorReportado' => 1 ,
1435				  );
1436	 *@ $fuenteInfoPersonalId [INT]
1437	 * */
1438	 public function mActualizaDatosFuenteInfoPersonal($datos,$fuenteInfoPersonalId){
1439		
1440		$this->db->where('fuenteInfoPersonalId', $fuenteInfoPersonalId);
1441		if($this->db->update('fuenteInfoPersonal',$datos)){
1442			/* Regresa la cadena al controlador*/
1443			return ($mensaje = 'Hecho');
1444		}else{
1445			$mensaje['error'] = $this->db->_error_message();
1446			/* Regresa la cadena al controlador*/
1447        	return $mensaje;
1448		}
1449	 }/* Fin de mActualizaDatosFuenteInfoPersonal */
1450	 
1451	 /* Este modelo elimina una fuenteInfoPersonal
1452	  * @param 
1453	  * $fuenteInfoPersonalId [INT]
1454	  * */
1455	 public function mEliminaFuenteInfoPersonal($fuenteInfoPersonalId){
1456
1457		$this->db->where('fuenteInfoPersonalId', $fuenteInfoPersonalId);
1458		if($this->db->delete('fuenteInfoPersonal')){
1459			/* Regresa la cadena al controlador*/
1460			return ($mensaje = 'Hecho');
1461			
1462		}else{
1463			
1464			$mensaje['error'] = $this->db->_error_message();
1465			/* Regresa la cadena al controlador*/
1466        	return $mensaje;
1467			
1468		} 
1469	 }/* Fin de mEliminaFuenteInfoPersonal */
1470	 
1471	 /* Este modelo edita un tipoFuenteDocumental
1472	 *@ $datos = array(
1473                  
1474				  'fecha' => '1988-04-07',
1475				  'fechaAcceso' => '1988-06-10',
1476				  'observaciones' => 'obs',
1477				  'actorReportado' => 1 ,
1478				  );
1479	 *@ $tipoFuenteDocumentalId [INT]
1480	 * */
1481	 public function mActualizaDatosTipoFuenteDocumental($datos,$tipoFuenteDocumentalId){
1482		
1483		$this->db->where('tipoFuenteDocumentalId', $tipoFuenteDocumentalId);
1484		if($this->db->update('tipoFuenteDocumental',$datos)){
1485			/* Regresa la cadena al controlador*/
1486			return ($mensaje = 'Hecho');
1487		}else{
1488			$mensaje['error'] = $this->db->_error_message();
1489			/* Regresa la cadena al controlador*/
1490        	return $mensaje;
1491		}
1492	 }/* Fin de mActualizaDatosFuenteInfoPersonal */
1493	 
1494	 /* Este modelo elimina una TipoFuenteDocumental
1495	  * @param 
1496	  * $ftipoFuenteDocumentalId [INT]
1497	  * */
1498	 
1499	 public function mEliminaTipoFuenteDocumental($tipoFuenteDocumentalId){
1500
1501		$this->db->where('tipoFuenteDocumentalId', $tipoFuenteDocumentalId);
1502		if($this->db->delete('tipoFuenteDocumental')){
1503			/* Regresa la cadena al controlador*/
1504			return ($mensaje = 'Hecho');
1505			
1506		}else{
1507			
1508			$mensaje['error'] = $this->db->_error_message();
1509			/* Regresa la cadena al controlador*/
1510        	return $mensaje;
1511			
1512		} 
1513	 }/* Fin de mEliminaFuenteInfoPersonal */
1514	 
1515	 
1516	 /* Este modelo trae las victimas de un acto y los perpetradores de cada acto 
1517	  * @param:
1518	  * $actoId [INT]
1519	  * */
1520	public function mTraerVictimasActo($actoId){
1521		$this->db->select('actorId,victimaId,estatusVictimaId,comentarios');
1522		$this->db->from('victimas');
1523		$this->db->where('actos_actoId', $actoId);
1524		$consultaVictimas = $this->db->get();
1525		
1526		if($consultaVictimas->num_rows() > 0){
1527			
1528			foreach ($consultaVictimas->result_array() as $victimas) {
1529				
1530				$this->db->select('actorId,nombre,apellidosSiglas,foto');
1531				$this->db->from('actores');
1532				$this->db->where('actorId', $victimas['actorId']);
1533				$consultaActores = $this->db->get();
1534				
1535				if($consultaActores->num_rows() > 0){
1536			
1537					foreach ($consultaActores->result_array() as $datosActores) {
1538						$datos['victimas'][$victimas['victimaId']] = $datosActores;
1539						$datos['victimas'][$victimas['victimaId']]['victimaId'] = $victimas['victimaId'];
1540						$datos['victimas'][$victimas['victimaId']]['estatusVictimaId'] = $victimas['estatusVictimaId'];
1541						$datos['victimas'][$victimas['victimaId']]['comentarios'] = $victimas['comentarios'];
1542						
1543						$this->db->select('*');
1544						$this->db->from('perpetradores');
1545						$this->db->where('victimas_victimaId', $victimas['victimaId']);
1546						$consultaPerpetradores = $this->db->get();
1547						
1548						if($consultaPerpetradores->num_rows() > 0){
1549			
1550							foreach ($consultaPerpetradores->result_array() as $datosPerpetradores) {
1551								$datos['victimas'][$victimas['victimaId']]['perpetradores'][$datosPerpetradores['perpetradorVictimaId']]=$datosPerpetradores;
1552							
1553								$this->db->select('*');
1554								$this->db->from('casos_has_actores');
1555								$this->db->where('actores_actorId',$datosPerpetradores['perpetradorId']);
1556								$consultaCasosActor = $this->db->get();
1557								
1558								if($consultaCasosActor->num_rows() > 0){
1559									foreach ($consultaCasosActor->result_array() as $valor) {
1560										//print_r($valor);
1561										$datos['victimas'][$victimas['victimaId']]['perpetradores'][$datosPerpetradores['perpetradorVictimaId']]['casosActor'][$valor['casoActorId']]=$valor;
1562									}
1563								}
1564							
1565							}
1566								
1567						}/* fin if $consultaPerpetradores */	
1568						
1569						$this->db->select('*');
1570						$this->db->from('casos_has_actores');
1571						$this->db->where('actores_actorId',$victimas['actorId']);
1572						$consultaCasosActor = $this->db->get();
1573						
1574						if($consultaCasosActor->num_rows() > 0){
1575							foreach ($consultaCasosActor->result_array() as $valor) {
1576								//print_r($valor);
1577								$datos['victimas'][$victimas['victimaId']]['casosActor'][$valor['casoActorId']]=$valor;
1578							}
1579						}	
1580					}
1581				}/* fin if consultaActores*/		
1582				
1583				
1584				
1585			}/*fin for each consultaVictimas */
1586			
1587			return $datos;
1588		}else{
1589			$mensaje= '0';
1590			/* Regresa la cadena al controlador*/
1591        	return $mensaje;
1592		}
1593		
1594		
1595	}/* fin de mTraerVictimasActo */
1596	
1597	/* Este modelo Trae los actos relacionados a un derecho afectado por niveles
1598	 * @param
1599	 * 
1600	 * $datosArrray = array (
1601	 * 						[nivel] = [idNivel]
1602	 * 						[1] 	= 1, 
1603	 * 						[2] 	= 3,
1604	 * 						[3] 	= 5, 
1605	 * 						[4] 	= 10
1606	 * )
1607	 * 
1608	 * 
1609	 * */
1610	public function mTraerActoDerechoAfectado($datosArray){
1611			
1612			$this->db->select('actosN1Catalogo_actoId');
1613			$this->db->from('actosN1Catalogo_has_derechosAfactadosN1Catalogo');
1614			$this->db->where('derechosAfactadosN1Catalogo_derechoAfectadoN1Id',$datosArray[1]);
1615			$consultaActosN1 = $this->db->get();
1616			
1617			
1618			if ($consultaActosN1->num_rows() > 0) {
1619				foreach ($consultaActosN1->result_array() as $row) {
1620					
1621					$this->db->select('*');
1622					$this->db->from('actosN1Catalogo');
1623					$this->db->where('actoId',$row['actosN1Catalogo_actoId']);
1624					$consultaActoN1 = $this->db->get();
1625					
1626					if ($consultaActoN1->num_rows() > 0) {
1627						foreach ($consultaActoN1->result_array() as $row2) {
1628
1629							$datos['actosN1'][$row2['actoId']] = $row2;
1630							
1631							if(isset($datosArray[2]) && isset($row2)){
1632								$this->db->select('*');
1633								$this->db->from('actosN2Catalogo');
1634								$this->db->where('actosN1Catalogo_actoId',$row2['actoId']);
1635								$this->db->where('derechosAfectadosN2Catalogo_derechoAfectadoN2Id',$datosArray[2]);
1636								$consultaActoN2 = $this->db->get();
1637								
1638								if ($consultaActoN2->num_rows() > 0) {
1639									foreach ($consultaActoN2->result_array() as $row3) {
1640										$datos['actosN2'][$row2['actoId']] = $row3;
1641										
1642										if(isset($datosArray[3]) && isset($row3)){
1643											$this->db->select('*');
1644											$this->db->from('actosN3Catalogo');
1645											$this->db->where('actosN2Catalogo_actoN2Id',$row3['actoN2Id']);
1646											$this->db->where('derechosAfectadosN3Catalogo_derechoAfectadoN3Id',$datosArray[3]);
1647											$consultaActoN3 = $this->db->get();
1648											
1649											if ($consultaActoN3->num_rows() > 0) {
1650												foreach ($consultaActoN3->result_array() as $row4) {
1651													$datos['actosN3'][$row4['actoN3Id']] = $row4;
1652													
1653													if(isset($datosArray[4]) && isset($row4)){
1654														$this->db->select('*');
1655														$this->db->from('actosN4Catalogo');
1656														$this->db->where('actosN3Catalogo_actoN3Id',$row4['actoN3Id']);
1657														$this->db->where('derechosAfectadosN4Catalogo_derechoAfectadoN4Id',$datosArray[4]);
1658														$consultaActoN4 = $this->db->get();
1659														
1660														if ($consultaActoN4->num_rows() > 0) {
1661															foreach ($consultaActoN4->result_array() as $row5) {
1662																$datos['actosN4'][$row5['actoN4Id']] = $row5;
1663															}
1664														}
1665													}else{
1666														
1667														$this->db->select('*');
1668														$this->db->from('actosN4Catalogo');
1669														$this->db->where('actosN3Catalogo_actoN3Id',$row4['actoN3Id']);
1670														$consultaActoN4 = $this->db->get();
1671														
1672														if ($con…

Large files files are truncated, but you can click here to view the full file