Advertisement
Guest User

controller

a guest
Feb 23rd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 35.63 KB | None | 0 0
  1.  function guardar() {
  2.        
  3.        
  4.         // validar que el nombre de la localidad no sea repetido
  5.         $this->form_validation->set_error_delimiters('<h3 style="color:red">', '</h3>');        
  6.        
  7.         $name     = $_FILES['file']['name'];
  8.         $tname    = $_FILES['file']['tmp_name'];
  9.        // $name     = $_FILES['file']['tmp_name'] ;
  10.        // $type    = $_FILES["file"]["type"];
  11.        // $size    = $_FILES["file"]["size"];
  12.        // $error   = $_FILES['file']['error'];  
  13.  
  14.  
  15.      // ver que datos se estan intentando cargar
  16.     echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  17.    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
  18.    // echo "Type: " . $_FILES["file"]["type"] . "<br />";
  19.    // echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  20.     //echo "Error: " . $_FILES["file"]["error"] . "<br />";  
  21.        
  22.         // error_reporting(E_ALL ^ E_NOTICE);
  23.         // var_dump($_FILES);
  24.  
  25.             var_dump(isset($tname));
  26.             var_dump(empty($tname));
  27.  
  28.         if ($name != "" ){    
  29.             $this->importar_excel_datos_trabajadores($name,$tname); //$tname);
  30.            
  31.    // var_dump(isset($tname));
  32.            // var_dump($tname);
  33.         }else{
  34.            
  35.  
  36.  
  37. .....
  38.  
  39.  
  40.    function importar_excel_datos_trabajadores( $name){
  41.  
  42.  
  43.         // Buscamos nuestra clase para leer el Excel
  44.         $this->load->library("spreadsheet_excel_reader");
  45.        
  46.         // Instanciamos nuestra clase
  47.         $dato = new Spreadsheet_Excel_Reader($tname);
  48.         //$dato->setOutputEncoding('CP1251');
  49.         //$dato->read($tname);
  50.         //var_dump($dato);      
  51.  
  52.        
  53.          //print "<pre>";
  54.          //print_r ($dato);
  55.        
  56.  
  57.         //Aqui vamos a leer el Excel, empezando desde la fila 2
  58.         for ($i = 2; $i <= $dato->rowcount($sheet_index=0); $i++) {
  59.            
  60.          
  61.          
  62.            
  63.             //Verificamos que cada celda la fila no se encuentra vacia
  64.             if($dato->val($i,1) != ''){
  65.                
  66.                 $this->new_localidad = null;
  67.                 $this->new_gerencia = null;
  68.                 $this->new_departamento = null;
  69.                 $this->new_cargo = null;
  70.                 $this->new_trabajador = null;
  71.                 // leemos columna por columna
  72.                 for ($j = 1; $j <= $dato->colcount($sheet_index=0); $j++) {
  73.  
  74.                     $ced_trab = $value   = $dato->val($i,6);  
  75.                     $trabajador = new TTrabajador();
  76.                     $existe_trab = $trabajador->existe_trabajador($ced_trab);
  77.                     $estatus = $dato->val($i,18);
  78.                  
  79.                     if (($existe_trab)||(!$existe_trab && ($estatus != 3)  )){
  80.                        
  81.                         $value   = $dato->val($i,$j);
  82.  
  83.                        
  84.  
  85.                      
  86.                         // si la columna del excel es la nro 1 (nombres de localidades proyectos)    
  87.                         if ($j==1){
  88.                             $localidad = new TLocalidad();
  89.                             $existe_loc = $localidad->existe_localidad($value);
  90.  
  91.                             if (!$existe_loc){
  92.                                 $localidad->c_numero_contrato = $value;
  93.                                 $localidad->c_nombre = $value;
  94.                                 $localidad->c_descripcion = $value;
  95.                                 $localidad->c_fecha_inicio =  date("Y-m-d");
  96.  
  97.                                 try {
  98.                                     $localidad->save();
  99.                                     $this->new_localidad = $localidad->cpk_localidad;
  100.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  101.                                     $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  102.                                     $mensaje['mensaje_error'] = "La localidad: ".$this->new_localidad->c_nombre." bajo el nro de contrato: ".$value." no se registro.<br>".$e->getMessage();
  103.                                     $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  104.                                     $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  105.                                     return;
  106.                                 }                              
  107.                             }else{
  108.                                 $this->new_localidad = $localidad->obtener_localidad_x_nro_contrato($value)->cpk_localidad;
  109.                                 $estatus_localidad = $localidad->obtener_localidad_x_nro_contrato($value)->c_activo;
  110.                                 // si el proyecto esta inactivo lo activo
  111.                                 if ($estatus_localidad == 0){
  112.                                     $localidad = $localidad->obtener_localidad_x_nro_contrato($value);
  113.                                     $localidad->c_activo = 1;
  114.                                     $localidad->save();
  115.                                 }
  116.                                
  117.                             }
  118.  
  119.                         }                                                  
  120.                        
  121.                         // si la columna del excel es la nro 2 (nombres de gerencias)    
  122.                         if ($j==2){
  123.  
  124.                             $gerencia = new TGerencium();
  125.                             $gerloc = new TLocalidadGerencium();                        
  126.                             $existe_ger = $gerencia->existe_gerencia($value);                                            
  127.  
  128.                             if ($existe_ger){
  129.  
  130.                                 $this->new_gerencia = $gerencia->obtener_gerencia_x_nombre($value)->cpk_gerencia;
  131.  
  132.                                 $existe_rel_lg = $gerloc->existe_relacion_loc_ger($this->new_localidad, $this->new_gerencia);
  133.  
  134.                                 if (!$existe_rel_lg){
  135.  
  136.                                     $gerloc->cfkn_localidad = $this->new_localidad;
  137.                                     $gerloc->cfkn_gerencia = $this->new_gerencia;
  138.  
  139.                                     try {
  140.                                         $gerloc->save();
  141.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  142.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  143.                                         $mensaje['mensaje_error'] = "La localidad $this->new_localidad no se pudo relacionar a la gerencia $this->new_gerencia"."<br>".$e->getMessage();
  144.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  145.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  146.                                         return;
  147.                                     }                                  
  148.  
  149.                                 }
  150. /*                              
  151. echo "existe".$value."-Localidad:".$this->new_localidad."-Gerencia:".$this->new_gerencia."-Departamento:".$this->new_departamento."-Cargo:".$this->new_cargo;
  152. echo "<br>".$i."-".$j;
  153. //break;
  154. */
  155.                             }else{
  156.  
  157.                                 $gerencia->c_nombre = $value;
  158.                                 $gerencia->c_descripcion = $value;
  159.  
  160.                                 try {
  161.                                     $gerencia->save();
  162.                                     $this->new_gerencia = $gerencia->cpk_gerencia ;
  163.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  164.                                     $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  165.                                     $mensaje['mensaje_error'] = "La gerencia $value no se registro"."<br>".$e->getMessage();
  166.                                     $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  167.                                     $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  168.                                     return;
  169.                                 }
  170.  
  171.                                 $gerloc->cfkn_localidad = $this->new_localidad;
  172.                                 $gerloc->cfkn_gerencia = $this->new_gerencia;
  173.  
  174.                                 try {
  175.                                         $gerloc->save();
  176.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  177.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  178.                                         $mensaje['mensaje_error'] = "La localidad $this->new_localidad no se pudo relacionar a la gerencia $this->new_gerencia"."<br>".$e->getMessage();
  179.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  180.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  181.                                         return;
  182.                                 }                              
  183. /*
  184. echo "no existe".$value."-".$this->new_localidad."-Gerencia:".$this->new_gerencia."-Departamento:".$this->new_departamento."-Cargo:".$this->new_cargo;
  185. echo "<br>".$i."-".$j;
  186. //break;                              
  187. */
  188.  
  189.                             }
  190.                         }
  191.  
  192.                         // si la columna del excel es la nro 3 (nombres de departamentos)    
  193.                         if ($j==3){
  194.  
  195.                             $departamento = new TDepartamento();
  196.                             $gerdepto = new TGerenciumDepartamento();                        
  197.                             $existe_dep = $departamento->existe_departamento($value);                                            
  198.  
  199.                             if ($existe_dep){
  200.  
  201.                                 $this->new_departamento = $departamento->obtener_departamento_x_nombre($value)->cpk_departamento;
  202.  
  203.                                 $existe_rel_gd = $gerdepto->existe_relacion_ger_depto($this->new_gerencia, $this->new_departamento);
  204.  
  205.                                 if (!$existe_rel_gd){
  206.  
  207.                                     $gerdepto->cfkn_gerencia = $this->new_gerencia;
  208.                                     $gerdepto->cfkn_departamento = $this->new_departamento;
  209.  
  210.                                     try {
  211.                                         $gerdepto->save();
  212.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  213.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  214.                                         $mensaje['mensaje_error'] = "El departamento $this->new_departamento no se pudo relacionar a la gerencia $this->new_gerencia"."<br>".$e->getMessage();
  215.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  216.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  217.                                         return;
  218.                                     }                                  
  219.  
  220.                                 }
  221.  
  222.                             }else{
  223.  
  224.                                 $departamento->c_nombre = $value;
  225.                                 $departamento->c_descripcion = $value;
  226.  
  227.                                 try {
  228.                                     $departamento->save();
  229.                                     $this->new_departamento = $departamento->cpk_departamento;
  230.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  231.                                     $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  232.                                     $mensaje['mensaje_error'] = "El departamento $value no se registro"."<br>".$e->getMessage();
  233.                                     $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  234.                                     $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  235.                                     return;
  236.                                 }
  237.  
  238.                                 $gerdepto->cfkn_gerencia= $this->new_gerencia;
  239.                                 $gerdepto->cfkn_departamento = $this->new_departamento;
  240.  
  241.                                 try {
  242.                                         $gerdepto->save();
  243.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  244.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  245.                                         $mensaje['mensaje_error'] = "El departamento: ".$this->new_departamento.", no se pudo relacionar a la gerencia: ".$this->new_gerencia.".<br>".$e->getMessage();
  246.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  247.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  248.                                         return;
  249.                                 }    
  250.  
  251.                             }
  252.  
  253.                         }                    
  254.  
  255.                         // si la columna del excel es la nro 5 (nombres de cargos)    
  256.                         if ($j==5){
  257.  
  258.                             $cargo = new TCargo();
  259.                             $cargodepto = new TCargoDepartamento();
  260.                             $existe_cargo = $cargo->existe_cargo_nombre($value);
  261.  
  262.                             if ($existe_cargo){    
  263.  
  264.                                 $this->new_cargo = $cargo->obtener_cargo_x_nombre($value)->cpk_cargo;
  265.  
  266.                                 $existe_rel_cd = $cargodepto->existe_relacion_cargo_depto($this->new_departamento,$this->new_cargo);
  267.  
  268.                                 if (!$existe_rel_cd){
  269.  
  270.                                     $cargodepto->cfkn_departamento = $this->new_departamento;
  271.                                     $cargodepto->cfkn_cargo = $this->new_cargo;
  272.  
  273.                                     try {
  274.                                         $cargodepto->save();
  275.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  276.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  277.                                         $mensaje['mensaje_error'] = "El cargo: ".$this->new_cargo." no se pudo relacionar al departamento: ".$this->new_departamento.".<br>".$e->getMessage();
  278.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  279.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  280.                                         return;
  281.                                     }                                  
  282.  
  283.                                 }
  284.  
  285.                             }else{
  286.  
  287.                                 $cargo->c_nombre = $value;
  288.                                 $cargo->c_descripcion = $value;
  289.  
  290.                                 try {
  291.                                     $cargo->save();
  292.                                     $this->new_cargo = $cargo->cpk_cargo;
  293.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  294.                                     $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  295.                                     $mensaje['mensaje_error'] = "El cargo $value no se registro"."<br>".$e->getMessage();
  296.                                     $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  297.                                     $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  298.                                     return;
  299.                                 }
  300.  
  301.                                 $cargodepto->cfkn_cargo= $this->new_cargo;
  302.                                 $cargodepto->cfkn_departamento = $this->new_departamento;
  303.  
  304.                                 try {
  305.                                         $cargodepto->save();
  306.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  307.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  308.                                         $mensaje['mensaje_error'] = "El cargo: ".$this->new_cargo." no se pudo relacionar al departamento: ".$this->new_departamento.".<br>".$e->getMessage();
  309.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  310.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  311.                                         return;
  312.                                 }  
  313.  
  314.                             }
  315.  
  316.                         }                    
  317.  
  318.                         if ($j==6){
  319.  
  320.  
  321.                             $antecedente = new TAntecedenteLaborale();
  322.                            
  323.                             if ($existe_trab){
  324.  
  325.                                 /* registrar datos basicos */
  326.                                 $trabajador = $this->buscartrabajador($value);
  327.                                 $estatus_ant = $trabajador->c_estado;
  328.                                 $trabajador->c_nombre= $dato->val($i,7);
  329.                                 $trabajador->c_apellido=$dato->val($i,8);;
  330.                                 $trabajador->c_fecha_nacimiento=date('Y-m-d', strtotime($dato->val($i,9)));
  331.                                 $trabajador->c_lugar_nacimiento=$dato->val($i,10);
  332.  
  333.                                 $estado_civil = $dato->val($i,11);
  334.                                 if ($estado_civil == 1) $ec = "C";
  335.                                 if ($estado_civil == 2) $ec = "D";
  336.                                 if ($estado_civil == 3) $ec = "CC";
  337.                                 if ($estado_civil == 4) $ec = "S";
  338.                                 if ($estado_civil == 5) $ec = "V";
  339.                                 $trabajador->c_estado_civil = $ec;
  340.  
  341.  
  342.                                 $trabajador->c_direccion = $dato->val($i,12);
  343.                                 $trabajador->c_telefonos= $dato->val($i,13);
  344.                                 $trabajador->c_sexo=$dato->val($i,14);
  345.  
  346.                                 if ($estatus == 1) $e = "A";
  347.                                 if ($estatus == 2) $e = "V";                            
  348.                                 if ($estatus == 3) $e = "R";                            
  349.                                 $trabajador->c_estado= $e;
  350.  
  351.  
  352.                                 try {
  353.                                     $trabajador->save();
  354.                                     //echo "cedula ".$trabajador->cpk_cedula;
  355.                                 } catch (Doctrine_Connection_Mysql_Exception $e) {
  356.                                     $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  357.                                     $mensaje['mensaje_error'] = "El trabajador $value no se registro"."<br>".$e->getMessage();
  358.                                     $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  359.                                     $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  360.                                     return;
  361.                                 }                            
  362.  
  363. //echo "cedula libro ".$value."<br>";
  364.                                 $antecedente_actual = $antecedente->obtener_antecedente_actual($value);
  365.                                 if ($estatus_ant == "R") $antecedente_actual = $antecedente->obtener_ultimo_antecedente($value);
  366.                                
  367. //echo "existe trabajador:".$trabajador->cpk_cedula." - Antecedente actual:".$antecedente_actual->cpk_antecedentes." - ".$value."-Localidad:".$this->new_localidad."-Gerencia:".$this->new_gerencia."-Departamento:".$this->new_departamento."-Cargo:".$this->new_cargo;
  368. //echo "<br>";
  369. //echo $this->new_cargo." != ".$antecedente_actual->cfkn_cargo_confurca." || ".$this->new_departamento." != ".$antecedente_actual->cfkn_departamento." || ".$this->new_gerencia." != ".$antecedente_actual->cfkn_gerencia." || ".$this->new_localidad." != ".$antecedente_actual->cfkn_localidad."<br>";
  370. //echo "<br>".$i."-".$j;
  371. //break;   
  372.                                 if (($estatus_ant == "R")&&(($this->new_cargo != $antecedente_actual->cfkn_cargo_confurca)||($this->new_departamento != $antecedente_actual->cfkn_departamento)||($this->new_gerencia != $antecedente_actual->cfkn_gerencia)||($this->new_localidad != $antecedente_actual->cfkn_localidad))){
  373.  
  374.                                     /* registrar datos de antecedentes */
  375.                                     $antecedente->cfkn_cedula = $value;
  376.                                     $antecedente->cfkn_localidad = $this->new_localidad;
  377.                                     $antecedente->cfkn_gerencia=$this->new_gerencia;  
  378.                                     $antecedente->cfkn_departamento=$this->new_departamento;  
  379.                                     $antecedente->cfkn_cargo_confurca=$this->new_cargo;  
  380.                                     $antecedente->c_fecha_ingreso =date('Y-m-d', strtotime($dato->val($i,15)));
  381.                                    
  382.                                     $fecha_retiro = $dato->val($i,16);
  383.                                     if (($fecha_retiro != "  -   -") && ($fecha_retiro != "")){
  384.                                         $antecedente->c_fecha_egreso=date('Y-m-d', strtotime($fecha_retiro));
  385.                                     }
  386.                                    
  387.                                     if ($estatus == 1) $e = "A";
  388.                                     if ($estatus == 2) $e = "V";                            
  389.                                     if ($estatus == 3) $e = "R";                            
  390.                                     $antecedente->c_estado= $e;
  391.  
  392.                                     $nomina = $dato->val($i,17);
  393.                                     if ($nomina == 1) $nom = "D";
  394.                                     if ($nomina == 2) $nom = "M";                            
  395.                                     if ($nomina == 3) $nom = "G";                            
  396.                                     $antecedente->c_nomina= $nom;                            
  397.  
  398.                                     $antecedente->c_confurca=1;
  399.                                     $antecedente->c_trabajo_actual=1;
  400.  
  401.                                     $antecedente_actual->c_trabajo_actual=0;
  402.                                     $antecedente_actual->c_estado= "R";                                    
  403.  
  404.                                     $conn =  Doctrine_Manager::connection();
  405.                                     $conn->beginTransaction();  
  406.  
  407.  
  408.                                     try {
  409.                                         $antecedente->save();
  410.                                         //echo "antecedente nuevo ".$antecedente->cfkn_cedula;
  411.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  412.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  413.                                         $mensaje['mensaje_error'] = "El Antecedente anterior del trabajador $value no se actualizo"."<br>".$e->getMessage();
  414.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  415.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  416.                                         return;
  417.                                     }    
  418.  
  419. //echo "existe trabajador y cargo dif:".$trabajador->cpk_cedula."-Antecedente actual".$antecedente_actual->cpk_antecedentes."-".$value."-Localidad:".$this->new_localidad."-Gerencia:".$this->new_gerencia."-Departamento:".$this->new_departamento."-Cargo:".$this->new_cargo."<br>";
  420. //echo $this->new_cargo." != ".$antecedente_actual->cfkn_cargo_confurca." || ".$this->new_departamento." != ".$antecedente_actual->cfkn_departamento." || ".$this->new_gerencia." != ".$antecedente_actual->cfkn_gerencia." || ".$this->new_localidad." != ".$antecedente_actual->cfkn_localidad."<br>";
  421. //echo $antecedente->cfkn_cargo_confurca." != ".$antecedente_actual->cfkn_cargo_confurca." || ".$antecedente->cfkn_departamento." != ".$antecedente_actual->cfkn_departamento." || ".$antecedente->cfkn_gerencia." != ".$antecedente_actual->cfkn_gerencia." || ".$antecedente->cfkn_localidad." != ".$antecedente_actual->cfkn_localidad."<br>";
  422. //echo "<br>".$i."-".$j;
  423. //break;   
  424.  
  425.                                     try {
  426.                                         $antecedente_actual->save();
  427.                                         //echo "antecedente actual ".$antecedente_actual->cfkn_cedula;
  428.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  429.                                         $conn->rollback();
  430.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  431.                                         $mensaje['mensaje_error'] = "El Antecdente nuevo del trabajador $value no se registro"."<br>".$e->getMessage();
  432.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  433.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  434.                                         return;
  435.                                     }                                  
  436.  
  437.                                     $conn->commit();
  438.  
  439.                                 }else{
  440.                                     // si existe pero el cargo/depto/ger/loc no es distinto - solo actualiza los demas datos
  441.  
  442.                                     $fecha_retiro = $dato->val($i,16);
  443.                                     if (($fecha_retiro != "  -   -") && ($fecha_retiro != "")){
  444.                                         $antecedente_actual->c_fecha_egreso=date('Y-m-d', strtotime($fecha_retiro));
  445.                                     }
  446.                                    
  447.                                     if ($estatus == 1) $e = "A";
  448.                                     if ($estatus == 2) $e = "V";                            
  449.                                     if ($estatus == 3) $e = "R";                            
  450.                                     $antecedente_actual->c_estado= $e;                                    
  451.                                    
  452.  
  453.                                     $nomina = $dato->val($i,17);
  454.                                     if ($nomina == 1) $nom = "D";
  455.                                     if ($nomina == 2) $nom = "M";                            
  456.                                     if ($nomina == 3) $nom = "G";                            
  457.                                     $antecedente_actual->c_nomina= $nom;                            
  458.  
  459.                                     $antecedente_actual->c_confurca=1;
  460.                                     $antecedente_actual->c_trabajo_actual=1;
  461.                                    
  462.                                    
  463. echo "existe trabajador y cargo igual:".$trabajador->cpk_cedula."-Antecedente actual:".$antecedente_actual->cpk_antecedentes."-".$value."-Localidad:".$this->new_localidad."-Gerencia:".$this->new_gerencia."-Departamento:".$this->new_departamento."-Cargo:".$this->new_cargo."<br>";
  464. echo $this->new_cargo." != ".$antecedente_actual->cfkn_cargo_confurca." || ".$this->new_departamento." != ".$antecedente_actual->cfkn_departamento." || ".$this->new_gerencia." != ".$antecedente_actual->cfkn_gerencia." || ".$this->new_localidad." != ".$antecedente_actual->cfkn_localidad."<br>";
  465. echo "<br>".$i."-".$j."<br>";
  466. //break;
  467.  
  468.                                     try {
  469.                                         $antecedente_actual->save();
  470.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  471.                                         $conn->rollback();
  472.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  473.                                         $mensaje['mensaje_error'] = "El Antecdente nuevo del trabajador $value no se registro"."<br>".$e->getMessage();
  474.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  475.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  476.                                         return;
  477.                                     }                                  
  478.  
  479.                                    
  480.                                    
  481.                                 }
  482.                              
  483.  
  484.  
  485.                             }else{
  486.  
  487.                                     /* registrar datos basicos */
  488.                                     $trabajador->cpk_cedula=$value;
  489.                                     $trabajador->c_nombre= $dato->val($i,7);
  490.                                     $trabajador->c_apellido=$dato->val($i,8);;
  491.                                     $trabajador->c_fecha_nacimiento=date('Y-m-d', strtotime($dato->val($i,9)));
  492.                                     $trabajador->c_lugar_nacimiento=$dato->val($i,10);
  493.  
  494.                                     $estado_civil = $dato->val($i,11);
  495.                                     if ($estado_civil == 1) $ec = "C";
  496.                                     if ($estado_civil == 2) $ec = "D";
  497.                                     if ($estado_civil == 3) $ec = "CC";
  498.                                     if ($estado_civil == 4) $ec = "S";
  499.                                     if ($estado_civil == 5) $ec = "V";
  500.                                     $trabajador->c_estado_civil = $ec;
  501.  
  502.  
  503.                                     $trabajador->c_direccion = $dato->val($i,12);
  504.                                     $trabajador->c_telefonos= $dato->val($i,13);
  505.                                     $trabajador->c_sexo=$dato->val($i,14);
  506.  
  507.                                     if ($estatus == 1) $e = "A";
  508.                                     if ($estatus == 2) $e = "V";                            
  509.                                     if ($estatus == 3) $e = "R";                            
  510.                                     $trabajador->c_estado= $e;                                    
  511.  
  512.                                     try {
  513.                                         $trabajador->save();
  514.                                         $this->new_trabajador = $trabajador;
  515.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  516.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  517.                                         $mensaje['mensaje_error'] = "El trabajador $value no se registro"."<br>".$e->getMessage();
  518.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  519.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  520.                                         return;
  521.                                     }                            
  522.  
  523.                                     /* registrar datos de antecedentes */
  524.                                     $antecedente->cfkn_cedula = $value;
  525.                                     $antecedente->cfkn_localidad = $this->new_localidad;
  526.                                     $antecedente->cfkn_gerencia=$this->new_gerencia;  
  527.                                     $antecedente->cfkn_departamento=$this->new_departamento;  
  528.                                     $antecedente->cfkn_cargo_confurca=$this->new_cargo;  
  529.  
  530.                                     $antecedente->c_fecha_ingreso =date('Y-m-d', strtotime($dato->val($i,15)));
  531.                                     if (($fecha_retiro != "  -   -") && ($fecha_retiro != "")){
  532.                                         $antecedente->c_fecha_egreso=date('Y-m-d', strtotime($fecha_retiro));
  533.                                     }
  534.                                    
  535.                                     if ($estatus == 1) $e = "A";
  536.                                     if ($estatus == 2) $e = "V";                            
  537.                                     if ($estatus == 3) $e = "R";                            
  538.                                     $antecedente->c_estado= $e;                                                                        
  539.  
  540.                                     $nomina = $dato->val($i,17);
  541.                                     if ($nomina == 1) $nom = "D";
  542.                                     if ($nomina == 2) $nom = "M";                            
  543.                                     if ($nomina == 3) $nom = "G";                            
  544.                                     $antecedente->c_nomina= $nom;                            
  545.  
  546.                                     $antecedente->c_confurca=1;
  547.                                     $antecedente->c_trabajo_actual=1;
  548.  
  549.                                     try {
  550.                                         $antecedente->save();                                
  551.                                     } catch (Doctrine_Connection_Mysql_Exception $e) {
  552.                                         $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
  553.                                         $mensaje['mensaje_error'] = "El trabajador $value no se registro"."<br>".$e->getMessage();
  554.                                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
  555.                                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  556.                                         return;
  557.                                     }                            
  558. //echo "TRABAJADOR NO EXISTE ".$ced_trab." Y ESTATUS = ".$estatus." SE REGISTRO NUEVO<BR>";
  559. //echo $i."-".$j."<br>";
  560.                             }
  561.                        
  562.                         }
  563.                        
  564.                     }
  565.                     /*else{
  566.                         echo "TRABAJADOR NO EXISTE ".$ced_trab." Y ESTATUS = ".$estatus."<BR>";
  567.                         echo $i."-".$j."<br>";
  568.                     }*/
  569.                 }
  570.                 //break;    
  571.             }
  572.            
  573.         }
  574.        
  575.                         $mensaje = array(
  576.                                 "nombre_mensaje"=>$this->lang->line('mensaje_exito'),
  577.                                 "mensaje_exito"=>"La actualizacion de los trabajadores se ha realizado satisfactoriamente.",
  578.                                 "ir_a"=>"trabajador/index",
  579.                                 "mensaje_enlace"=>$this->lang->line('aceptar')
  580.                         );
  581.  
  582.                         $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_exitos",$mensaje,true);
  583.                         $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
  584.        
  585.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement