public function postRegistrar()
 {
     try {
         DB::beginTransaction();
         $returnArray = array("rst" => 0, "msj" => "No se realizaron cambios", "act" => null, "error" => "", "gestion_id" => "");
         if (Request::ajax() or Input::get('noajax')) {
             $gestionId = "";
             $cupos = true;
             if (Input::get('gestion_id')) {
                 $returnArray["act"] = "Nuevo movimiento creado";
                 $gestionId = Input::get('gestion_id');
                 $ultmov = DB::table('ultimos_movimientos')->where('gestion_id', '=', $gestionId)->first();
                 $ultimoMovimiento = UltimoMovimiento::find($ultmov->id);
                 $gestionesMovimientos = new GestionMovimiento();
                 $gestionesMovimientos["quiebre_id"] = Input::get('quiebre_id');
                 $gestionesMovimientos["gestion_id"] = Input::get('gestion_id');
                 $gestionesMovimientos["empresa_id"] = Input::get('empresa_id');
                 $gestionesMovimientos["zonal_id"] = Input::get('zonal_id');
                 $gestionesMovimientos["estado_id"] = Input::get('estado');
                 $gestionesMovimientos["motivo_id"] = Input::get('motivo');
                 $gestionesMovimientos["submotivo_id"] = Input::get('submotivo');
                 $gestionesMovimientos["observacion"] = Input::get('observacion2');
                 $gestionesMovimientos["coordinado"] = Input::get('coordinado2');
                 $ultimoMovimiento["quiebre_id"] = Input::get('quiebre_id');
                 $ultimoMovimiento["empresa_m_id"] = Input::get('empresa_id');
                 $ultimoMovimiento["zonal_id"] = Input::get('zonal_id');
                 $ultimoMovimiento["estado_id"] = Input::get('estado');
                 $ultimoMovimiento["motivo_id"] = Input::get('motivo');
                 $ultimoMovimiento["submotivo_id"] = Input::get('submotivo');
                 $ultimoMovimiento["observacion_m"] = Input::get('observacion2');
                 $ultimoMovimiento["coordinado"] = Input::get('coordinado2');
                 if (Input::get('flag_tecnico')) {
                     $ultimoMovimiento["flag_tecnico"] = Input::get('flag_tecnico');
                     $gestionesMovimientos["flag_tecnico"] = Input::get('flag_tecnico');
                 }
                 if (Input::get('horario_id') && Input::get('horario_id') != '') {
                     $gestionesMovimientos["horario_id"] = Input::get('horario_id');
                     $gestionesMovimientos["dia_id"] = Input::get('dia_id');
                     $gestionesMovimientos["fecha_agenda"] = Input::get('fecha_agenda');
                     $ultimoMovimiento["horario_id"] = Input::get('horario_id');
                     $ultimoMovimiento["dia_id"] = Input::get('dia_id');
                     $ultimoMovimiento["fecha_agenda"] = Input::get('fecha_agenda');
                 }
                 if (Input::get('tecnico') && Input::get('tecnico') != '') {
                     $gestionesMovimientos["celula_id"] = Input::get('celula');
                     $gestionesMovimientos["tecnico_id"] = Input::get('tecnico');
                     $ultimoMovimiento["celula_id"] = Input::get('celula');
                     $ultimoMovimiento["tecnico_id"] = Input::get('tecnico');
                 }
                 if (Input::get('fecha_consolidacion') && Input::get('fecha_consolidacion') != '') {
                     $gestionesMovimientos["fecha_consolidacion"] = Input::get('fecha_consolidacion');
                     $ultimoMovimiento["fecha_consolidacion"] = Input::get('fecha_consolidacion');
                 }
                 //Origen del movimiento realizado
                 $gestionesMovimientos["submodulo_id"] = 3;
                 if (Input::get('submodulo_id') !== null) {
                     $gestionesMovimientos["submodulo_id"] = Input::get('submodulo_id');
                 }
                 if (Input::get('usuario_sistema') !== null) {
                     $gestionesMovimientos['usuario_created_at'] = 697;
                 }
                 $gestionesMovimientos['estado_ofsc_id'] = '0';
                 $gestionesMovimientos['usuario_created_at'] = Auth::user()->id;
                 $gestionesMovimientos->save();
                 if (substr(Input::get('estado_agendamiento'), -2) == '-1') {
                     $gestionesDetalles = GestionDetalle::where('gestion_id', '=', $gestionId)->update(array('x' => Input::get('x'), 'y' => Input::get('y')));
                     $ultimoMovimiento['x'] = Input::get('x');
                     $ultimoMovimiento['y'] = Input::get('y');
                 }
                 $ultimoMovimiento['estado_ofsc_id'] = '0';
                 $ultimoMovimiento['usuario_updated_at'] = Auth::user()->id;
                 $ultimoMovimiento->save();
             } else {
                 $id = "";
                 $returnArray["act"] = "Nuevo registro creado";
                 $gestiones = new Gestion();
                 $ultimoMovimiento = new UltimoMovimiento();
                 $gestiones["actividad_id"] = Input::get('actividad_id');
                 $gestiones["nombre_cliente_critico"] = Input::get('nombre_cliente_critico');
                 $gestiones["telefono_cliente_critico"] = Input::get('telefono_cliente_critico');
                 $gestiones["celular_cliente_critico"] = Input::get('celular_cliente_critico');
                 $gestiones['usuario_created_at'] = Auth::user()->id;
                 $gestiones->save();
                 $ultimoMovimiento["actividad_id"] = Input::get('actividad_id');
                 $ultimoMovimiento["nombre_cliente_critico"] = Input::get('nombre_cliente_critico');
                 $ultimoMovimiento["telefono_cliente_critico"] = Input::get('telefono_cliente_critico');
                 $ultimoMovimiento["celular_cliente_critico"] = Input::get('celular_cliente_critico');
                 $ultimoMovimiento['usuario_created_at'] = Auth::user()->id;
                 $gestionId = $gestiones->id;
                 $id = $gestiones->id;
                 $gestiones["id_atc"] = "ATC_" . date("Y") . "_" . $id;
                 $gestiones->save();
                 $ultimoMovimiento["id_atc"] = "ATC_" . date("Y") . "_" . $id;
                 $gestionesDetalles = new GestionDetalle();
                 $gestionesDetalles["gestion_id"] = $id;
                 $gestionesDetalles["quiebre_id"] = Input::get('quiebre_id');
                 $gestionesDetalles["empresa_id"] = Input::get('empresa_id');
                 $gestionesDetalles["zonal_id"] = Input::get('zonal_id');
                 $gestionesDetalles["codactu"] = Input::get('codactu');
                 $gestionesDetalles["tipo_averia"] = Input::get('tipo_averia');
                 $gestionesDetalles["horas_averia"] = Input::get('horas_averia');
                 $gestionesDetalles["fecha_registro"] = Input::get('fecha_registro');
                 $gestionesDetalles["ciudad"] = Input::get('ciudad');
                 $gestionesDetalles["inscripcion"] = Input::get('inscripcion');
                 $gestionesDetalles["fono1"] = Input::get('fono1');
                 $gestionesDetalles["telefono"] = Input::get('telefono');
                 $gestionesDetalles["mdf"] = Input::get('mdf');
                 $gestionesDetalles["observacion"] = Input::get('observacion');
                 $gestionesDetalles["segmento"] = Input::get('segmento');
                 $gestionesDetalles["area"] = Input::get('area');
                 $gestionesDetalles["direccion_instalacion"] = Input::get('direccion_instalacion');
                 $gestionesDetalles["codigo_distrito"] = Input::get('codigo_distrito');
                 $gestionesDetalles["nombre_cliente"] = Input::get('nombre_cliente');
                 $gestionesDetalles["orden_trabajo"] = Input::get('orden_trabajo');
                 $gestionesDetalles["veloc_adsl"] = Input::get('veloc_adsl');
                 $gestionesDetalles["clase_servicio_catv"] = Input::get('clase_servicio_catv');
                 $gestionesDetalles["codmotivo_req_catv"] = Input::get('codmotivo_req_catv');
                 $gestionesDetalles["total_averias_cable"] = Input::get('total_averias_cable');
                 $gestionesDetalles["total_averias_cobre"] = Input::get('total_averias_cobre');
                 $gestionesDetalles["total_averias"] = Input::get('total_averias');
                 $gestionesDetalles["fftt"] = Input::get('fftt');
                 $gestionesDetalles["llave"] = Input::get('llave');
                 $gestionesDetalles["dir_terminal"] = Input::get('dir_terminal');
                 $gestionesDetalles["fonos_contacto"] = Input::get('fonos_contacto');
                 $gestionesDetalles["contrata"] = Input::get('contrata');
                 $gestionesDetalles["zonal"] = Input::get('zonal');
                 $gestionesDetalles["wu_nagendas"] = Input::get('wu_nagendas');
                 $gestionesDetalles["wu_nmovimientos"] = Input::get('wu_nmovimientos');
                 $gestionesDetalles["wu_fecha_ult_agenda"] = Input::get('wu_fecha_ult_agenda');
                 $gestionesDetalles["total_llamadas_tecnicas"] = Input::get('total_llamadas_tecnicas');
                 $gestionesDetalles["total_llamadas_seguimiento"] = Input::get('total_llamadas_seguimiento');
                 $gestionesDetalles["llamadastec15dias"] = Input::get('llamadastec15dias');
                 $gestionesDetalles["llamadastec30dias"] = Input::get('llamadastec30dias');
                 $gestionesDetalles["lejano"] = Input::get('lejano');
                 $gestionesDetalles["distrito"] = Input::get('distrito');
                 $gestionesDetalles["eecc_zona"] = Input::get('eecc_zona');
                 $gestionesDetalles["zona_movistar_uno"] = Input::get('zona_movistar_uno');
                 $gestionesDetalles["paquete"] = Input::get('paquete');
                 $gestionesDetalles["data_multiproducto"] = Input::get('data_multiproducto');
                 $gestionesDetalles["averia_m1"] = Input::get('averia_m1');
                 $gestionesDetalles["fecha_data_fuente"] = Input::get('fecha_data_fuente');
                 $gestionesDetalles["telefono_codclientecms"] = Input::get('telefono_codclientecms');
                 $gestionesDetalles["rango_dias"] = Input::get('rango_dias');
                 $gestionesDetalles["sms1"] = Input::get('sms1');
                 $gestionesDetalles["sms2"] = Input::get('sms2');
                 $gestionesDetalles["area2"] = Input::get('area2');
                 $gestionesDetalles["microzona"] = Input::get('microzona');
                 $gestionesDetalles["tipo_actuacion"] = Input::get('tipo_actuacion');
                 $gestionesDetalles["actividad_tipo_id"] = Input::get('actividad_tipo_id');
                 if (Input::get('x') and Input::get('y')) {
                     $gestionesDetalles["x"] = Input::get('x');
                     $gestionesDetalles["y"] = Input::get('y');
                     $ultimoMovimiento["x"] = Input::get('x');
                     $ultimoMovimiento["y"] = Input::get('y');
                 }
                 $gestionesDetalles['usuario_created_at'] = Auth::user()->id;
                 $gestionesDetalles->save();
                 /**********************************************************/
                 $ffttExplode = explode("|", Input::get('fftt'));
                 $tipoAExplode = explode("-", Input::get('tipo_averia'));
                 if (count($tipoAExplode) == 1) {
                     $tipoAExplode = explode("_", Input::get('tipo_averia'));
                 }
                 $arrayproadsl = array(1, 2, 4);
                 $arrayprocatv = array(5, 6, 7, 8, 9);
                 $arrayaveradsl = array(1, 2, 3, 14, 15, 16, 17, 9, 18, 19, 20);
                 $arrayaverbas = array(1, 2, 3, 10, 11, 12, 4, 9);
                 $arrayavercatv = array(5, 13, 6, 7, 8, 9);
                 $sqlttff = 'INSERT INTO gestiones_fftt (gestion_id,fftt_tipo_id,nombre) VALUES (?,?,?)';
                 if (in_array('aver', $tipoAExplode, true) and count($ffttExplode) > 1) {
                     if (in_array('adsl', $tipoAExplode, true)) {
                         for ($i = 0; $i < count($arrayaveradsl); $i++) {
                             $array = array($id, $arrayaveradsl[$i], trim($ffttExplode[$i]));
                             if (trim($ffttExplode[$i]) != '') {
                                 DB::insert($sqlttff, $array);
                             }
                         }
                     } elseif (in_array('bas', $tipoAExplode, true)) {
                         for ($i = 0; $i < count($arrayaverbas); $i++) {
                             $array = array($id, $arrayaverbas[$i], trim($ffttExplode[$i]));
                             if (trim($ffttExplode[$i]) != '') {
                                 DB::insert($sqlttff, $array);
                             }
                         }
                     } elseif (in_array('catv', $tipoAExplode, true)) {
                         for ($i = 0; $i < count($arrayavercatv); $i++) {
                             $array = array($id, $arrayavercatv[$i], trim($ffttExplode[$i]));
                             if (trim($ffttExplode[$i]) != '') {
                                 DB::insert($sqlttff, $array);
                             }
                         }
                     }
                 } elseif (in_array('prov', $tipoAExplode, true) and count($ffttExplode) > 1) {
                     if (in_array('adsl', $tipoAExplode, true) or in_array('bas', $tipoAExplode, true)) {
                         for ($i = 0; $i < count($arrayproadsl); $i++) {
                             if ($i == 1 and strtoupper(substr(trim($ffttExplode[$i]), 0, 1)) == 'A') {
                                 $array = array($id, $arrayproadsl[$i], trim($ffttExplode[$i]));
                             } elseif ($i == 1) {
                                 $array = array($id, 3, trim($ffttExplode[$i]));
                             } else {
                                 $array = array($id, $arrayproadsl[$i], trim($ffttExplode[$i]));
                             }
                             if (trim($ffttExplode[$i]) != '') {
                                 DB::insert($sqlttff, $array);
                             }
                         }
                     } elseif (in_array('catv', $tipoAExplode, true)) {
                         for ($i = 0; $i < count($arrayprocatv); $i++) {
                             $array = array($id, $arrayprocatv[$i], trim($ffttExplode[$i]));
                             if (trim($ffttExplode[$i]) != '') {
                                 DB::insert($sqlttff, $array);
                             }
                         }
                     }
                 }
                 /**********************************************************/
                 $ultimoMovimiento["gestion_id"] = $id;
                 $ultimoMovimiento["quiebre_id"] = Input::get('quiebre_id');
                 $ultimoMovimiento["empresa_id"] = Input::get('empresa_id');
                 $ultimoMovimiento["zonal_id"] = Input::get('zonal_id');
                 $ultimoMovimiento["codactu"] = Input::get('codactu');
                 $ultimoMovimiento["tipo_averia"] = Input::get('tipo_averia');
                 $ultimoMovimiento["horas_averia"] = Input::get('horas_averia');
                 $ultimoMovimiento["fecha_registro"] = Input::get('fecha_registro');
                 $ultimoMovimiento["ciudad"] = Input::get('ciudad');
                 $ultimoMovimiento["inscripcion"] = Input::get('inscripcion');
                 $ultimoMovimiento["fono1"] = Input::get('fono1');
                 $ultimoMovimiento["telefono"] = Input::get('telefono');
                 $ultimoMovimiento["mdf"] = Input::get('mdf');
                 $ultimoMovimiento["observacion"] = Input::get('observacion');
                 $ultimoMovimiento["segmento"] = Input::get('segmento');
                 $ultimoMovimiento["area"] = Input::get('area');
                 $ultimoMovimiento["direccion_instalacion"] = Input::get('direccion_instalacion');
                 $ultimoMovimiento["codigo_distrito"] = Input::get('codigo_distrito');
                 $ultimoMovimiento["nombre_cliente"] = Input::get('nombre_cliente');
                 $ultimoMovimiento["orden_trabajo"] = Input::get('orden_trabajo');
                 $ultimoMovimiento["veloc_adsl"] = Input::get('veloc_adsl');
                 $ultimoMovimiento["clase_servicio_catv"] = Input::get('clase_servicio_catv');
                 $ultimoMovimiento["codmotivo_req_catv"] = Input::get('codmotivo_req_catv');
                 $ultimoMovimiento["total_averias_cable"] = Input::get('total_averias_cable');
                 $ultimoMovimiento["total_averias_cobre"] = Input::get('total_averias_cobre');
                 $ultimoMovimiento["total_averias"] = Input::get('total_averias');
                 $ultimoMovimiento["fftt"] = Input::get('fftt');
                 $ultimoMovimiento["llave"] = Input::get('llave');
                 $ultimoMovimiento["dir_terminal"] = Input::get('dir_terminal');
                 $ultimoMovimiento["fonos_contacto"] = Input::get('fonos_contacto');
                 $ultimoMovimiento["contrata"] = Input::get('contrata');
                 $ultimoMovimiento["zonal"] = Input::get('zonal');
                 $ultimoMovimiento["wu_nagendas"] = Input::get('wu_nagendas');
                 $ultimoMovimiento["wu_nmovimientos"] = Input::get('wu_nmovimientos');
                 $ultimoMovimiento["wu_fecha_ult_agenda"] = Input::get('wu_fecha_ult_agenda');
                 $ultimoMovimiento["total_llamadas_tecnicas"] = Input::get('total_llamadas_tecnicas');
                 $ultimoMovimiento["total_llamadas_seguimiento"] = Input::get('total_llamadas_seguimiento');
                 $ultimoMovimiento["llamadastec15dias"] = Input::get('llamadastec15dias');
                 $ultimoMovimiento["llamadastec30dias"] = Input::get('llamadastec30dias');
                 $ultimoMovimiento["lejano"] = Input::get('lejano');
                 $ultimoMovimiento["distrito"] = Input::get('distrito');
                 $ultimoMovimiento["eecc_zona"] = Input::get('eecc_zona');
                 $ultimoMovimiento["zona_movistar_uno"] = Input::get('zona_movistar_uno');
                 $ultimoMovimiento["paquete"] = Input::get('paquete');
                 $ultimoMovimiento["data_multiproducto"] = Input::get('data_multiproducto');
                 $ultimoMovimiento["averia_m1"] = Input::get('averia_m1');
                 $ultimoMovimiento["fecha_data_fuente"] = Input::get('fecha_data_fuente');
                 $ultimoMovimiento["telefono_codclientecms"] = Input::get('telefono_codclientecms');
                 $ultimoMovimiento["rango_dias"] = Input::get('rango_dias');
                 $ultimoMovimiento["sms1"] = Input::get('sms1');
                 $ultimoMovimiento["sms2"] = Input::get('sms2');
                 $ultimoMovimiento["area2"] = Input::get('area2');
                 $ultimoMovimiento["microzona"] = Input::get('microzona');
                 $ultimoMovimiento["tipo_actuacion"] = Input::get('tipo_actuacion');
                 $gestionesMovimientos = new GestionMovimiento();
                 $gestionesMovimientos["gestion_id"] = $id;
                 $gestionesMovimientos["quiebre_id"] = Input::get('quiebre_id');
                 $gestionesMovimientos["empresa_id"] = Input::get('empresa_id');
                 $gestionesMovimientos["zonal_id"] = Input::get('zonal_id');
                 $gestionesMovimientos["estado_id"] = Input::get('estado');
                 $gestionesMovimientos["motivo_id"] = Input::get('motivo');
                 $gestionesMovimientos["submotivo_id"] = Input::get('submotivo');
                 $gestionesMovimientos["observacion"] = Input::get('observacion2');
                 $gestionesMovimientos["coordinado"] = Input::get('coordinado2');
                 $ultimoMovimiento["empresa_m_id"] = Input::get('empresa_id');
                 $ultimoMovimiento["estado_id"] = Input::get('estado');
                 $ultimoMovimiento["motivo_id"] = Input::get('motivo');
                 $ultimoMovimiento["submotivo_id"] = Input::get('submotivo');
                 $ultimoMovimiento["observacion_m"] = Input::get('observacion2');
                 $ultimoMovimiento["coordinado"] = Input::get('coordinado2');
                 if (Input::get('flag_tecnico')) {
                     $gestionesMovimientos["flag_tecnico"] = Input::get('flag_tecnico');
                     $ultimoMovimiento["flag_tecnico"] = Input::get('flag_tecnico');
                 }
                 if (Input::get('horario_id') && Input::get('horario_id') != '') {
                     $gestionesMovimientos["horario_id"] = Input::get('horario_id');
                     $gestionesMovimientos["dia_id"] = Input::get('dia_id');
                     $gestionesMovimientos["fecha_agenda"] = Input::get('fecha_agenda');
                     $ultimoMovimiento["horario_id"] = Input::get('horario_id');
                     $ultimoMovimiento["dia_id"] = Input::get('dia_id');
                     $ultimoMovimiento["fecha_agenda"] = Input::get('fecha_agenda');
                 }
                 if (Input::get('tecnico') && Input::get('tecnico') != '') {
                     $gestionesMovimientos["celula_id"] = Input::get('celula');
                     $gestionesMovimientos["tecnico_id"] = Input::get('tecnico');
                     $ultimoMovimiento["celula_id"] = Input::get('celula');
                     $ultimoMovimiento["tecnico_id"] = Input::get('tecnico');
                 }
                 if (Input::get('fecha_consolidacion') && Input::get('fecha_consolidacion') != '') {
                     $gestionesMovimientos["fecha_consolidacion"] = Input::get('fecha_consolidacion');
                     $ultimoMovimiento["fecha_consolidacion"] = Input::get('fecha_consolidacion');
                 }
                 //Origen del movimiento realizado
                 $gestionesMovimientos["submodulo_id"] = 3;
                 if (Input::get('submodulo_id') !== null) {
                     $gestionesMovimientos["submodulo_id"] = Input::get('submodulo_id');
                 }
                 //OFSC
                 $ultimoMovimiento["actividad_tipo_id"] = Input::get('actividad_tipo_id');
                 $gestionesMovimientos['estado_ofsc_id'] = '0';
                 $gestionesMovimientos['usuario_created_at'] = Auth::user()->id;
                 $gestionesMovimientos->save();
                 $ultimoMovimiento['estado_ofsc_id'] = '0';
                 $ultimoMovimiento['usuario_updated_at'] = Auth::user()->id;
                 $ultimoMovimiento['updated_at'] = date("Y-m-d H:i:s");
                 $ultimoMovimiento['usuario_created_at'] = Auth::user()->id;
                 $ultimoMovimiento->save();
             }
             $returnArray["gestion_id"] = $gestionId;
             $returnArray['gestion_movimiento_id'] = $gestionesMovimientos->id;
             DB::commit();
             $returnArray["rst"] = 1;
             $returnArray["msj"] = 'Registro realizado correctamente';
             $returnArray["error"] = "";
         }
         return $returnArray;
     } catch (Exception $exc) {
         DB::rollback();
         $returnArray["rst"] = 2;
         $returnArray["msj"] = 'Ocurrió un error en el registro';
         $returnArray["error"] = $exc->getMessage();
         return $returnArray;
     }
 }
Пример #2
0
 /**
  * retornar reporte en formato xls
  * POST reporte/movimiento
  *
  * @return file xls
  */
 public function postMovimiento()
 {
     //recibir los parametros y enviarlos al modelo, ahi ejecutar el query
     $averia = null;
     if (Input::hasFile('file_averia')) {
         if (Input::file('file_averia')->isValid()) {
             $file = Input::file('file_averia');
             $tmpArchivo = $file->getRealPath();
             $file = file($tmpArchivo);
             $con = 0;
             $averia = "";
             foreach ($file as $f) {
                 $con++;
                 if ($con > 1) {
                     $averia .= "," . trim($f);
                 }
             }
             $averia = substr($averia, 1);
         }
     }
     $checkFecha = Input::get('check_fecha');
     $reporte = Input::get('slct_reporte');
     $checkAveria = Input::get('check_averia');
     $fechaIni = Input::get('fecha_ini');
     $fechaFin = Input::get('fecha_fin');
     $detalle = Input::get('slct_detalle_observacion');
     $checkDetalleAgenda = false;
     //Reporte por fecha de agenda incluyendo detalle de movimientos
     if ($reporte == 'adt') {
         $averia = "";
         $cliente = GestionMovimiento::getGestionMovimiento_coc($checkFecha, $checkAveria, 'age', $fechaIni, $fechaFin, $averia, $detalle);
         foreach ($cliente as $row) {
             $averia .= "," . $row->averia;
         }
         $checkDetalleAgenda = true;
         $averia = substr($averia, 1);
         $checkFecha = null;
         $checkAveria = true;
     }
     $cliente = GestionMovimiento::getGestionMovimiento_coc($checkFecha, $checkAveria, $reporte, $fechaIni, $fechaFin, $averia, $detalle);
     $outputcab = "";
     $outputdet = "";
     if ($detalle == 1) {
         $outputcab = "<td>DETALLE OBSERVACIÓN</td>";
     }
     $output = "<head>\n                    <meta charset='UTF-8'>\n                    </head><table><tr>";
     $output .= "<td>Id_atc</td>\n                <td>Tipo Actuacion</td>\n                <td>Averia</td>\n                <td>Quiebre</td>\n                <td>nombre_contacto</td>\n                <td>Cod Cliente</td>\n                <td>celular_contacto</td>\n                <td>observacion</td>\n                <td>Fecha Agenda</td>\n                <td>horario</td>\n                <td>dia</td>\n                <td>Empresa</td>\n                <td>Zonal</td>\n                <td>Motivo</td>\n                <td>Submotivo</td>\n                <td>Estado</td>\n                <td>Tecnico</td>\n                <td>Fecha Registro Actuacion</td>\n                <td>Hora Registro Actuacion</td>\n                <td>Fecha Creacion ATC</td>\n                <td>Hora Creacion ATC</td>\n                <td>Fecha Creacion Movimiento</td>\n                <td>Hora Creacion Movimiento</td>\n                <td>Fecha Consolidacion</td>\n                <td>Ultimo Movimiento</td>\n                <td>Tipo Averia</td>\n                <td>Averia_m1</td>\n                <td>Penalizable</td>\n                <td>Desc. Penalizable</td>\n                <td>Usuario</td>\n                <td>codmotivo_req_catv</td>\n                <td>Fecha_Cambio</td>\n                <td>MDF/NODO</td>\n                <td>fftt</td>" . $outputcab . "\n                <td>Estado Legados</td>\n                <td>Fec.Liq.Legados</td>\n                <td>Estado OFSC</td>\n                <td>Aid</td>\n                <td>Envio OFSC</td>\n            </tr>";
     foreach ($cliente as $row) {
         $fechaAgenda = $row->fecha_agenda;
         $horario = $row->horario;
         $dia = $row->dias;
         $fechaConsolidacion = $row->fecha_consolidacion;
         if ($detalle == 1) {
             $outputdet = "<td>" . str_replace("|", "<br>", $row->detalle) . "</td>";
         }
         /*$fechaAgenda = (($row->id==1 || $row->id==8 || $row->id==9 || $row->id==10 || $row->id==20) && ($row->m_id!=5))? $row->fecha_agenda:'';
           $horario = (($row->id==1 || $row->id==8 || $row->id==9 || $row->id==10 || $row->id==20) && ($row->m_id!=5))? $row->horario:'';
           $dia = (($row->id==1 || $row->id==8 || $row->id==9 || $row->id==10 || $row->id==20) && ($row->m_id!=5))? $row->dias:'';
           $fechaConsolidacion = ($row->id==3 || $row->id==19)? $row->fecha_consolidacion:'';*/
         //if ($fechaAgenda!="")
         // $fechaAgenda = Helpers::convert_to_date($fechaAgenda, 'date');
         //if ($fechaConsolidacion!="")
         //$fechaConsolidacion = Helpers::convert_to_date($fechaConsolidacion, 'date');
         $penalizable = $row->penalizable;
         $descPenalizable = $row->penalizabledes;
         /*if ($row->id=="3" || $row->id=="19") {
               $penalizable = ($row->penalizable=="")? 'no':'si';
               $descPenalizable = $row->penalizable;
           } else {
               $penalizable = "";
               $descPenalizable = "";
           }*/
         $fechaMov = Helpers::convert_to_date($row->fecha_movimiento, 'datetime');
         $fechaRegistro = Helpers::convert_to_date($row->fecha_registro, 'datetime');
         $fechaCreacion = Helpers::convert_to_date($row->fecha_creacion, 'datetime');
         $fechaMov = explode(" ", $fechaMov);
         $fechaRegistro = explode(" ", $fechaRegistro);
         $fechaCreacion = explode(" ", $fechaCreacion);
         $output .= "<tr><td>" . $row->id_atc . "</td><td>" . $row->tipo_actividad . "</td><td>" . $row->averia . "</td><td>" . $row->quiebre . "</td><td>" . $row->nombre_cliente_critico . "</td><td>" . $row->telefono_cliente_critico . "</td><td>" . $row->celular_cliente_critico . "</td><td>" . $row->observacion . "</td><td>" . $fechaAgenda . "</td><td>" . $horario . "</td><td>" . $dia . "</td><td>" . $row->nombre . "</td><td>" . $row->zonal . "</td><td>" . $row->motivo . "</td><td>" . $row->submotivo . "</td><td>" . $row->estado . "</td><td>" . $row->tecnico . "</td><td>" . $fechaRegistro[0] . "</td><td>" . $fechaRegistro[1] . "</td><td>" . $fechaCreacion[0] . "</td><td>" . $fechaCreacion[1] . "</td><td>" . $fechaMov[0] . "</td><td>" . $fechaMov[1] . "</td><td>" . $fechaConsolidacion . "</td><td>" . $row->ultimo_movimiento . "</td><td>" . $row->tipo_averia . "</td><td>" . $row->averia_m1 . "</td><td>" . $penalizable . "</td><td>" . $descPenalizable . "</td><td>" . $row->usuario . "</td><td>" . $row->codmotivo_req_catv . "</td><td>" . $row->fecha_cambio . "</td>" . "<td>" . $row->mdf . "</td>" . "<td>" . $row->fftt . "</td>" . $outputdet . "<td>" . $row->estado_legado . "</td>" . "<td>" . $row->fec_liq_legado . "</td>" . "<td>" . $row->estado_ofsc . "</td>" . "<td>" . $row->aid . "</td>" . "<td>" . $row->envio_ofsc . "</td>" . "</tr>";
     }
     $output .= "</table>";
     $filename = Helpers::convert_to_file_excel('reporte_movimientos');
     $headers = array('Pragma' => 'public', 'Expires' => 'public', 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0', 'Cache-Control' => 'private', 'Content-Type' => 'application/vnd.ms-excel', 'charset' => 'utf-8', 'Content-Disposition' => 'attachment; filename=' . $filename, 'Content-Transfer-Encoding' => ' binary');
     return Response::make($output, 200, $headers);
 }
Пример #3
0
 public function norealizadoOfsc()
 {
     $save["aid"] = $activityId;
     $actu = \Gestion::getCargar($codactu);
     $actuObj = $actu["datos"][0];
     $actuArray = (array) $actuObj;
     $actuArray['estado_agendamiento'] = "3-0";
     $actuArray['gestion_id'] = $actuObj->id;
     $actuArray['estado'] = 5;
     $actuArray['motivo'] = 4;
     $actuArray['submotivo'] = 6;
     unset($actuArray["fecha_agenda"]);
     unset($actuArray["horario_id"]);
     unset($actuArray["dia_id"]);
     unset($actuArray["tecnico"]);
     unset($actuArray["tecnico_id"]);
     unset($actuArray["celula_id"]);
     Input::replace($actuArray);
     $save = $this->_gestionMovimientoController->postRegistrar();
     $datos = array();
     $datos['aid'] = $activityId;
     $datos['envio_ofsc'] = 4;
     $datos['gestion_id'] = $save['gestion_id'];
     $datos['gestion_movimiento_id'] = $save['gestion_movimiento_id'];
     $datos['estado_ofsc_id'] = 4;
     GestionMovimiento::OfscUpdate($datos);
 }
 /**
  * Recepciona datos de Bandeja Controller
  * 
  * @return type
  */
 public function postCrear()
 {
     if (Request::ajax()) {
         DB::beginTransaction();
         $id = "";
         $gestiones = new Gestion();
         $gestiones["actividad_id"] = Input::get('tipo_actividad');
         $gestiones["nombre_cliente_critico"] = Input::get('cr_nombre');
         $gestiones["telefono_cliente_critico"] = Input::get('cr_telefono');
         $gestiones["celular_cliente_critico"] = Input::get('cr_celular');
         $gestiones['usuario_created_at'] = Auth::user()->id;
         try {
             $gestiones->save();
         } catch (Exception $exc) {
             DB::rollback();
             $this->_errorController->saveError($exc);
             return Response::json(array('rst' => 2, 'datos' => 'Error gestiones'));
         }
         $gestiones["id_atc"] = "RTC_" . date("Y") . "_" . $id;
         $id = $gestiones->id;
         $fechaRegistro = date("Y-m-d H:i:s");
         $gestionesDetalles = new GestionDetalle();
         $gestionesDetalles["gestion_id"] = $id;
         $gestionesDetalles["quiebre_id"] = Input::get('quiebre');
         $gestionesDetalles["empresa_id"] = Input::get('empresa_id');
         $gestionesDetalles["zonal_id"] = Input::get('zonal_id');
         $gestionesDetalles["codactu"] = Input::get('averia');
         $gestionesDetalles["tipo_averia"] = Input::get('tipo_averia');
         $gestionesDetalles["horas_averia"] = '0';
         $gestionesDetalles["fecha_registro"] = $fechaRegistro;
         $gestionesDetalles["ciudad"] = '';
         $gestionesDetalles["inscripcion"] = Input::get('telefono');
         $gestionesDetalles["fono1"] = Input::get('telefono');
         $gestionesDetalles["telefono"] = Input::get('telefono');
         $mdf = explode("___", Input::get('mdf'));
         $gestionesDetalles["mdf"] = $mdf[0];
         $gestionesDetalles["observacion"] = Input::get('cr_observacion');
         $gestionesDetalles["segmento"] = Input::get('segmento');
         $gestionesDetalles["area"] = '';
         $gestionesDetalles["direccion_instalacion"] = Input::get('direccion');
         $gestionesDetalles["codigo_distrito"] = '';
         $gestionesDetalles["nombre_cliente"] = Input::get('cr_nombre');
         $gestionesDetalles["orden_trabajo"] = '';
         $gestionesDetalles["veloc_adsl"] = '';
         $gestionesDetalles["clase_servicio_catv"] = '';
         $gestionesDetalles["codmotivo_req_catv"] = '';
         $gestionesDetalles["total_averias_cable"] = '';
         $gestionesDetalles["total_averias_cobre"] = '';
         $gestionesDetalles["total_averias"] = '';
         $fftt = "";
         $troba = trim(Input::get("troba"));
         $amplificador = trim(Input::get("amplificador"));
         $tap = trim(Input::get("tap"));
         $cable = trim(Input::get("cable"));
         $terminal = trim(Input::get("terminal"));
         if (Input::get('tipo_averia') == 'rutina-catv-pais') {
             $fftt = $mdf[0] . "|" . $troba . "|" . $amplificador . "|" . $tap;
         } else {
             $fftt = $mdf[0] . "|" . $cable . "|" . $terminal;
         }
         $gestionesDetalles["fftt"] = $fftt;
         $gestionesDetalles["llave"] = '';
         $gestionesDetalles["dir_terminal"] = '';
         $gestionesDetalles["fonos_contacto"] = Input::get('cr_telefono');
         $gestionesDetalles["contrata"] = Input::get('eecc');
         $gestionesDetalles["zonal"] = Input::get('zonal');
         $gestionesDetalles["wu_nagendas"] = '0';
         $gestionesDetalles["wu_nmovimientos"] = '0';
         $gestionesDetalles["wu_fecha_ult_agenda"] = '';
         $gestionesDetalles["total_llamadas_tecnicas"] = '0';
         $gestionesDetalles["total_llamadas_seguimiento"] = '0';
         $gestionesDetalles["llamadastec15dias"] = '0';
         $gestionesDetalles["llamadastec30dias"] = '0';
         $gestionesDetalles["lejano"] = Input::get('lejano');
         $gestionesDetalles["distrito"] = Input::get('distrito');
         $gestionesDetalles["eecc_zona"] = Input::get('eecc');
         $gestionesDetalles["zona_movistar_uno"] = Input::get('movistar_uno');
         $gestionesDetalles["paquete"] = '';
         $gestionesDetalles["data_multiproducto"] = '';
         $gestionesDetalles["averia_m1"] = '';
         $gestionesDetalles["fecha_data_fuente"] = $fechaRegistro;
         $gestionesDetalles["telefono_codclientecms"] = Input::get('telefono');
         $gestionesDetalles["rango_dias"] = '';
         $gestionesDetalles["sms1"] = '';
         $gestionesDetalles["sms2"] = '';
         $gestionesDetalles["area2"] = 'EN CAMPO';
         $gestionesDetalles["microzona"] = Input::get('microzona');
         $tipoActuacion = "";
         if (Input::get('tipo_actividad') == 3) {
             $tipoActuacion = "AVERIA";
         } else {
             $tipoActuacion = "PROVISION";
         }
         $gestionesDetalles["tipo_actuacion"] = $tipoActuacion;
         $gestionesDetalles["x"] = Input::get('x');
         $gestionesDetalles["y"] = Input::get('y');
         if (Input::has('codservcms')) {
             $gestionesDetalles['codservcms'] = Input::get('codservcms');
         }
         if (Input::has('codclie')) {
             $gestionesDetalles['codclie'] = Input::get('codclie');
         }
         if (Input::has('edificio')) {
             $gestionesDetalles['edificio_id'] = Input::get('edificio');
         }
         $gestionesDetalles['usuario_created_at'] = Auth::user()->id;
         try {
             $gestionesDetalles->save();
         } catch (Exception $exc) {
             DB::rollback();
             $this->_errorController->saveError($exc);
             return Response::json(array('rst' => 2, 'datos' => 'Error gestion detalle'));
         }
         $gestionesMovimientos = new GestionMovimiento();
         //codigo submodulo origen regis
         $gestionesMovimientos['submodulo_id'] = 5;
         $gestionesMovimientos["gestion_id"] = $id;
         $gestionesMovimientos["empresa_id"] = Input::get('empresa_id');
         $gestionesMovimientos["zonal_id"] = Input::get('zonal_id');
         $gestionesMovimientos["estado_id"] = '7';
         $gestionesMovimientos["motivo_id"] = '2';
         $gestionesMovimientos["submotivo_id"] = '18';
         $gestionesMovimientos["observacion"] = 'Registro Manual';
         $gestionesMovimientos["coordinado"] = '0';
         $gestionesMovimientos['usuario_created_at'] = Auth::user()->id;
         try {
             $gestionesMovimientos->save();
         } catch (Exception $exc) {
             DB::rollback();
             $this->_errorController->saveError($exc);
             return Response::json(array('rst' => 2, 'datos' => 'Error gestion movimiento'));
         }
         $ultimoMovimiento = new UltimoMovimiento();
         $ultimoMovimiento["actividad_id"] = Input::get('tipo_actividad');
         $ultimoMovimiento["nombre_cliente_critico"] = Input::get('cr_nombre');
         $ultimoMovimiento["telefono_cliente_critico"] = Input::get('cr_telefono');
         $ultimoMovimiento["celular_cliente_critico"] = Input::get('cr_celular');
         $ultimoMovimiento['usuario_created_at'] = Auth::user()->id;
         $ultimoMovimiento["id_atc"] = "RTC_" . date("Y") . "_" . $id;
         $ultimoMovimiento["gestion_id"] = $id;
         $ultimoMovimiento["quiebre_id"] = Input::get('quiebre');
         $ultimoMovimiento["empresa_id"] = Input::get('empresa_id');
         $ultimoMovimiento["zonal_id"] = Input::get('zonal_id');
         $ultimoMovimiento["codactu"] = Input::get('averia');
         $ultimoMovimiento["tipo_averia"] = Input::get('tipo_averia');
         $ultimoMovimiento["horas_averia"] = 0;
         $ultimoMovimiento["fecha_registro"] = $fechaRegistro;
         $ultimoMovimiento["ciudad"] = '';
         $ultimoMovimiento["inscripcion"] = Input::get('telefono');
         $ultimoMovimiento["fono1"] = Input::get('telefono');
         $ultimoMovimiento["telefono"] = Input::get('telefono');
         $ultimoMovimiento["mdf"] = $mdf[0];
         $ultimoMovimiento["observacion"] = 'Registro Manual';
         $ultimoMovimiento["segmento"] = Input::get('segmento');
         $ultimoMovimiento["area"] = '';
         $ultimoMovimiento["direccion_instalacion"] = Input::get('direccion');
         $ultimoMovimiento["codigo_distrito"] = '';
         $ultimoMovimiento["nombre_cliente"] = Input::get('cr_nombre');
         $ultimoMovimiento["orden_trabajo"] = '';
         $ultimoMovimiento["veloc_adsl"] = '';
         $ultimoMovimiento["clase_servicio_catv"] = '';
         $ultimoMovimiento["codmotivo_req_catv"] = '';
         $ultimoMovimiento["total_averias_cable"] = '';
         $ultimoMovimiento["total_averias_cobre"] = '';
         $ultimoMovimiento["total_averias"] = '';
         $fftt = "";
         $troba = trim(Input::get("troba"));
         $amplificador = trim(Input::get("amplificador"));
         $tap = trim(Input::get("tap"));
         $cable = trim(Input::get("cable"));
         $terminal = trim(Input::get("terminal"));
         if (Input::get('tipo_averia') == 'rutina-catv-pais') {
             $fftt = $mdf[0] . "|" . $troba . "|" . $amplificador . "|" . $tap;
         } else {
             $fftt = $mdf[0] . "|" . $cable . "|" . $terminal;
         }
         $ultimoMovimiento["fftt"] = $fftt;
         $ultimoMovimiento["llave"] = '';
         $ultimoMovimiento["dir_terminal"] = '';
         $ultimoMovimiento["fonos_contacto"] = Input::get('cr_telefono');
         $ultimoMovimiento["contrata"] = Input::get('eecc');
         $ultimoMovimiento["zonal"] = Input::get('zonal');
         $ultimoMovimiento["wu_nagendas"] = 0;
         $ultimoMovimiento["wu_nmovimientos"] = 0;
         $ultimoMovimiento["wu_fecha_ult_agenda"] = '';
         $ultimoMovimiento["total_llamadas_tecnicas"] = '0';
         $ultimoMovimiento["total_llamadas_seguimiento"] = '0';
         $ultimoMovimiento["llamadastec15dias"] = '0';
         $ultimoMovimiento["llamadastec30dias"] = '0';
         $ultimoMovimiento["lejano"] = Input::get('lejano');
         $ultimoMovimiento["distrito"] = Input::get('distrito');
         $ultimoMovimiento["eecc_zona"] = Input::get('eecc');
         $ultimoMovimiento["zona_movistar_uno"] = Input::get('movistar_uno');
         $ultimoMovimiento["paquete"] = '';
         $ultimoMovimiento["data_multiproducto"] = '';
         $ultimoMovimiento["averia_m1"] = '';
         $ultimoMovimiento["fecha_data_fuente"] = $fechaRegistro;
         $ultimoMovimiento["telefono_codclientecms"] = Input::get('telefono');
         $ultimoMovimiento["rango_dias"] = '';
         $ultimoMovimiento["sms1"] = '';
         $ultimoMovimiento["sms2"] = '';
         $ultimoMovimiento["area2"] = 'EN CAMPO';
         $ultimoMovimiento["microzona"] = Input::get('microzona');
         $tipoActuacion = "";
         if (Input::get('tipo_actividad') == 3) {
             $tipoActuacion = "AVERIA";
         } else {
             $tipoActuacion = "PROVISION";
         }
         $ultimoMovimiento["tipo_actuacion"] = $tipoActuacion;
         /*$ultimoMovimiento["empresa_m_id"]=
           Input::get('empresa_id');*/
         $ultimoMovimiento["estado_id"] = '7';
         $ultimoMovimiento["motivo_id"] = '2';
         $ultimoMovimiento["submotivo_id"] = '18';
         /*$ultimoMovimiento["observacion_m"]=
           Input::get('observacion2');*/
         $ultimoMovimiento["coordinado"] = '0';
         /*if ( Input::get('flag_tecnico') ) {
           
           $ultimoMovimiento["flag_tecnico"]=
                       Input::get('flag_tecnico');
           }*/
         $ultimoMovimiento['usuario_updated_at'] = Auth::user()->id;
         $ultimoMovimiento['updated_at'] = date("Y-m-d H:i:s");
         $ultimoMovimiento['usuario_created_at'] = Auth::user()->id;
         try {
             $ultimoMovimiento->save();
         } catch (Exception $exc) {
             DB::rollback();
             $this->_errorController->saveError($exc);
             return Response::json(array('rst' => 2, 'datos' => 'Error ultimo movimiento'));
         }
         DB::commit();
         return array('rst' => 1, 'msj' => "Registro Realizado con Éxito");
     }
 }
Пример #5
0
 public static function updateGestiones($averia, $gmId, $array, $estado = '', $oldQuiebre = '', $oldEmpresa = '')
 {
     $observacion = '';
     $usuariId = Auth::user()->id;
     //actualizar detalle
     DB::beginTransaction();
     $array1 = $array;
     $array1['usuario_updated_at'] = $usuariId;
     try {
         DB::table('gestiones_detalles')->where('codactu', $averia)->update($array1);
     } catch (Exception $e) {
         DB::rollback();
         return 0;
     }
     //insertar un nuevo movimiento
     $gestionMovimiento = GestionMovimiento::find($gmId);
     $nuevoMovimiento = new GestionMovimiento();
     $nuevoMovimiento['gestion_id'] = $gestionMovimiento['gestion_id'];
     $nuevoMovimiento['zonal_id'] = $gestionMovimiento['zonal_id'];
     $nuevoMovimiento['coordinado'] = $gestionMovimiento['coordinado'];
     $nuevoMovimiento['estado'] = $gestionMovimiento['estado'];
     $nuevoMovimiento['created_at'] = date("Y-m-d H:i:s");
     if (!empty($array['quiebre_id'])) {
         $nuevoMovimiento['quiebre_id'] = $array['quiebre_id'];
         $observacion .= ' Quiebre: "' . $oldQuiebre . '"';
     } else {
         $nuevoMovimiento['quiebre_id'] = $gestionMovimiento['quiebre_id'];
     }
     if (!empty($array['empresa_id'])) {
         $nuevoMovimiento['empresa_id'] = $array['empresa_id'];
         $observacion .= ' Empresa: "' . $oldEmpresa . '"';
     } else {
         $nuevoMovimiento['empresa_id'] = $gestionMovimiento['empresa_id'];
     }
     if ($estado == 'agendado') {
         $nuevoMovimiento['estado_id'] = '7';
         $nuevoMovimiento['motivo_id'] = '2';
         $nuevoMovimiento['submotivo_id'] = '18';
     } else {
         $nuevoMovimiento['estado_id'] = $gestionMovimiento['estado_id'];
         $nuevoMovimiento['motivo_id'] = $gestionMovimiento['motivo_id'];
         $nuevoMovimiento['submotivo_id'] = $gestionMovimiento['submotivo_id'];
         $nuevoMovimiento['horario_id'] = $gestionMovimiento['horario_id'];
         $nuevoMovimiento['dia_id'] = $gestionMovimiento['dia_id'];
         $nuevoMovimiento['celula_id'] = $gestionMovimiento['celula_id'];
         $nuevoMovimiento['tecnico_id'] = $gestionMovimiento['tecnico_id'];
         $nuevoMovimiento['fecha_agenda'] = $gestionMovimiento['fecha_agenda'];
         $nuevoMovimiento['tecnicos_asignados'] = $gestionMovimiento['tecnicos_asignados'];
         $nuevoMovimiento['fecha_consolidacion'] = $gestionMovimiento['fecha_consolidacion'];
         $nuevoMovimiento['flag_tecnico'] = $gestionMovimiento['flag_tecnico'];
         $nuevoMovimiento['coordinado'] = $gestionMovimiento['coordinado'];
     }
     $nuevoMovimiento['submodulo_id'] = '20';
     $nuevoMovimiento['observacion'] = 'actualiacion, de ' . $observacion;
     $nuevoMovimiento['updated_at'] = date("Y-m-d H:i:s");
     $nuevoMovimiento['usuario_created_at'] = $usuariId;
     try {
         $nuevoMovimiento->save();
     } catch (Exception $e) {
         DB::rollback();
         return 0;
     }
     //actualizar ultimo movimiento
     $ultimo = UltimoMovimiento::Where('codactu', $averia)->get();
     //existe registro
     if (count($ultimo) > 0) {
         $ultimoId = $ultimo[0]->id;
         $array3 = $array;
         if ($estado == 'agendado') {
             //actualzar fecha de agenda y estado
             $array3['estado_id'] = '7';
             $array3['motivo_id'] = '2';
             $array3['submotivo_id'] = '18';
             $array3['usuario_updated_at'] = $usuariId;
             $array3['fecha_agenda'] = '';
             $array3['estado_legado'] = 'PENDIENTE';
             $array3['usuario_created_at'] = Auth::user()->id;
             $array3['observacion'] = 'actualiacion, de Quiebre: "' . $oldQuiebre . '"" y Empresa: "' . $oldEmpresa . '"';
             $array3['updated_at'] = date("Y-m-d H:i:s");
         }
         try {
             DB::table('ultimos_movimientos')->where('id', $ultimoId)->update($array3);
         } catch (Exception $e) {
             DB::rollback();
             return 0;
         }
     }
     DB::commit();
     return 1;
 }
Пример #6
0
 /**
  * Recepciona datos de Bandeja Controller
  * 
  * @return type
  */
 public function postRecepccion()
 {
     $data = array();
     $valida = array();
     $dataOfficetrack = Input::all();
     $dataGestion = Input::all();
     $dataGestionPendiente = Input::all();
     if (trim($dataGestion["fecha_agenda"]) != '' and trim($dataGestion['dia_id']) != '' and $dataGestion['dia_id'] != date("N", strtotime(date($dataGestion["fecha_agenda"])))) {
         $exc['code'] = '0000';
         $exc['file'] = 'BandejaController.php';
         $exc['line'] = '26';
         $exc['message'] = $dataGestion['codactu'] . ', No cuadran dias =>' + $dataGestion['dia_id'] . ' == ' . date("N", strtotime(date($dataGestion["fecha_agenda"])));
         $exc['trace'] = $dataGestion['dia_id'] . "|" . $dataGestion['fecha_agenda'] . "|" . $dataGestion['estado_id'] . "|" . $dataGestion['submotivo_id'] . "|" . $dataGestion['motivo_id'] . "|" . $dataGestion['quiebre_id'] . "|" . $dataGestion['actividad_id'];
         $this->_errorController->saveError($exc);
         return Response::json(array('rst' => 2, 'msj' => 'Ocurrio una interrupción en el registro de la información.', 'codactu' => $dataGestion['codactu']));
         /*
         $dataGestion['dia_id'].' == '.date("N",strtotime(date($dataGestion["fecha_agenda"])))
         */
         exit(0);
     }
     /**
      * Validacion Técnico en un solo horario y fecha
      * 
      * Datos requeridos:
      * tecnico:12
      * horario_id:19
      * dia_id:5
      * fecha_agenda:2015-05-08
      * estado_agendamiento: 1-1
      */
     $tecAsignadoBool = false;
     $resultAsignado = array();
     if ($dataGestion["estado_agendamiento"] == '1-1') {
         //No validar para tecnico NINGUNO
         $tecArray = DB::table('tecnicos')->where('id', '=', $dataGestion["tecnico"])->where('estado', '=', '1')->select('ninguno')->get();
         if (isset($tecArray[0]) and $tecArray[0]->ninguno == 0) {
             $dataValidaCupo = new stdClass();
             $dataValidaCupo->tecnico_id = $dataGestion["tecnico"];
             $dataValidaCupo->horario_id = $dataGestion["horario_id"];
             $dataValidaCupo->dia_id = $dataGestion["dia_id"];
             $dataValidaCupo->fecha_agenda = $dataGestion["fecha_agenda"];
             $asignado = GestionMovimiento::getTecnicoHorario($dataValidaCupo);
             if (is_array($asignado) and count($asignado["asignado"]) > 0) {
                 $ordenAgenda = $asignado["asignado"][0];
                 $tecAsignadoBool = true;
                 $resultAsignado = array('rst' => 2, 'msj' => 'El técnico seleccionado ya tiene una orden ' . 'agendada para el horario asignado', 'codactu' => $ordenAgenda->codactu);
             }
             //Respuesta tecnico con agenda asignada
             if ($tecAsignadoBool) {
                 return $resultAsignado;
                 exit;
             }
         }
     }
     /**
      * Para estados: Cancelado y Pendiente, evaluar si
      * la orden está asignada a un técnico y dejarla 
      * sin efecto. 2015-06-25
      * 
      * Obtener ultimo movimiento antes de grabar la gestion
      */
     $getOtoff = "";
     if ($dataGestion["estado"] == 5 or $dataGestion["estado"] == 7) {
         if (isset($dataGestion["gestion_id"]) and $dataGestion["gestion_id"] > 0) {
             $ultimov = DB::table('ultimos_movimientos')->where('gestion_id', $dataGestion["gestion_id"])->first();
             $ultimov = Helpers::stdToArray($ultimov);
             /**
              * Valida si la orden tiene: 
              * - horario
              * - dia
              * - celula
              * - tecnico
              */
             if ($ultimov["horario_id"] > 0 and $ultimov["dia_id"] > 0 and $ultimov["celula_id"] > 0 and $ultimov["tecnico_id"] > 0) {
                 $ultimov["estado"] = "";
                 $ultimov["actividad"] = "";
                 $ultimov["duration"] = 1;
                 $ultimov["quiebre"] = "";
                 $ultimov["eecc_final"] = "";
                 $ultimov["cr_observacion"] = "";
                 $ultimov["carnet"] = "";
                 $ultimov["velocidad"] = "";
                 $ultimov["paquete"] = "";
                 $ultimov['fecha_agenda'] = "";
                 $ultimov['hora_agenda'] = "";
                 $ultimov["estado_agendamiento"] = "1-1";
                 $ultimov["coordinado2"] = "0";
                 //Envio a OT
                 $savedata["otdata"] = $ultimov;
                 $rot = Helpers::ruta('officetrack/enviartarea', 'POST', $savedata, false);
                 //Respuesta OT
                 //$getOtoff = $rot->officetrack;
             }
         }
     }
     $getOtoff = "";
     DB::beginTransaction();
     $rgm2['sql'] = '';
     $rgm2['estofic'] = '';
     if (isset($dataGestion["gestion_id"]) and $dataGestion["gestion_id"] > 0 and $dataGestion["estado_officetrack"] == 0) {
         $ultimov = DB::table('ultimos_movimientos')->where('gestion_id', $dataGestion["gestion_id"])->first();
         $ultimov = Helpers::stdToArray($ultimov);
         $sql = "  SELECT ct.officetrack\n                    FROM tecnicos t\n                    INNER JOIN celula_tecnico ct ON t.id=ct.tecnico_id\n                    WHERE ct.tecnico_id='" . $ultimov["tecnico_id"] . "'\n                    AND ct.celula_id='" . $ultimov["celula_id"] . "'\n                    AND ct.estado=1";
         $tecnicoinfo = DB::select($sql);
         $tecnicoinfo = Helpers::stdToArray($tecnicoinfo);
         if (count($tecnicoinfo) > 0) {
             $rgm2['estofic'] = $tecnicoinfo[0]['officetrack'];
         }
         $rgm2['sql'] = $sql;
         /**
          * Valida si la orden tiene: 
          * - horario
          * - dia
          * - celula
          * - tecnico
          */
         if ($ultimov["horario_id"] > 0 and $ultimov["dia_id"] > 0 and $ultimov["celula_id"] > 0 and $ultimov["tecnico_id"] > 0 and $rgm2['estofic'] == 1) {
             $ultimov["estado"] = "";
             $ultimov["actividad"] = "";
             $ultimov["duration"] = 1;
             $ultimov["quiebre"] = "";
             $ultimov["eecc_final"] = "";
             $ultimov["cr_observacion"] = "";
             $ultimov["carnet"] = "";
             $ultimov["velocidad"] = "";
             $ultimov["paquete"] = "";
             $ultimov['fecha_agenda'] = "";
             $ultimov['hora_agenda'] = "";
             $ultimov["estado_agendamiento"] = "0-0";
             $ultimov["coordinado2"] = "0";
             //Envio a OT
             $savedata["otdata"] = $ultimov;
             $rot = Helpers::ruta('officetrack/enviartarea', 'POST', $savedata, false);
             //Registrar Pendiente
             $dataGestionPendiente['estado_agendamiento'] = '0-0';
             $dataGestionPendiente['motivo'] = '2';
             $dataGestionPendiente['submotivo'] = '18';
             $dataGestionPendiente['estado'] = '7';
             $dataGestionPendiente['horario_id'] = '';
             $dataGestionPendiente['dia_id'] = '';
             $dataGestionPendiente['fecha_agenda'] = '7';
             $dataGestionPendiente['tecnico'] = '';
             $dataGestionPendiente['usuario_sistema'] = 'sistema';
             //697
             $rgm = Helpers::ruta('gestion_movimiento/crear', 'POST', $dataGestionPendiente, false);
             //Respuesta OT
             //$getOtoff = $rot->officetrack;
         }
     }
     $rgm = Helpers::ruta('gestion_movimiento/crear', 'POST', $dataGestion, false);
     $rgm = Helpers::stdToArray($rgm);
     //$rgm["sql"]=$rgm2["sql"];
     $rgm['estofic'] = $rgm2['estofic'];
     //Registra o actualiza XY del cliente
     $dataXyCliente = array('codigo' => $dataGestion['inscripcion'], 'nombre' => $dataGestion['nombre_cliente_critico'], 'coord_x' => $dataGestion['x'], 'coord_y' => $dataGestion['y'], 'direccion' => $dataGestion['direccion_instalacion'], 'estado' => 1);
     if ($dataGestion["cliente_xy_insert"] == 1) {
         $query = DB::table('clientes')->insert($dataXyCliente);
     } else {
         $query = DB::table('clientes')->where('codigo', $dataGestion['inscripcion'])->update($dataXyCliente);
     }
     $rvalida = "0";
     if (Input::get('tecnico') and Input::get('tecnico') != '') {
         $valida = array();
         //Indica si cumple con el envio a officetrack acitividad + quiebre
         $valida["actividad_id"] = $dataOfficetrack["actividad_id"];
         $valida["quiebre_id"] = $dataOfficetrack["quiebre_id"];
         //El estado del tecnico de officetrack
         $valida["tecnico_id"] = $dataOfficetrack["tecnico"];
         $valida["celula_id"] = $dataOfficetrack["celula"];
         //El estado de Agendamiento para officetrack
         $valida["motivo_id"] = $dataOfficetrack["motivo"];
         $valida["submotivo_id"] = $dataOfficetrack["submotivo"];
         $valida["estado_id"] = $dataOfficetrack["estado"];
         //El evento indica si anteriormente ya se realizó una transacción OT
         $valida["transmision"] = $dataOfficetrack["transmision"];
         $rvalida = Helpers::ruta('officetrack/validar', 'POST', $valida, false);
     }
     // true indica que se enviara a officetrack
     $dataGestion['officetrack_envio'] = $rvalida;
     if ($rvalida == "1" and $rgm['rst'] == "1") {
         $dataOfficetrack['gestion_id'] = $rgm['gestion_id'];
         /*if ( !isset($dataOfficetrack['id_gestion']) ) {
               $idGestion=Gestion::getGenerarID();
               $dataOfficetrack['gestion_id']=$idGestion;
               $dataGestion['gestion_id_officetrack']=$idGestion;
           }*/
         $tecnico = Tecnico::find($dataOfficetrack['tecnico']);
         $dataOfficetrack['carnet'] = $tecnico['carnet_tmp'];
         $estado = Estado::find($dataOfficetrack['estado']);
         $dataOfficetrack['estado'] = $estado['nombre'];
         $horarioTipo = HorarioTipo::find($dataOfficetrack['horario_tipo']);
         $dataOfficetrack['duration'] = $horarioTipo['minutos'];
         $velocidad = array('', '', '');
         if (trim($dataOfficetrack['paquete']) != '') {
             $velocidad = explode("|", $dataOfficetrack['paquete']);
         }
         $dataOfficetrack['velocidad'] = $velocidad[2];
         $dataOfficetrack['eecc_final'] = $dataOfficetrack['empresa_id'];
         $dataOfficetrack['cr_observacion'] = $dataOfficetrack['observacion2'];
         $savedata["otdata"] = $dataOfficetrack;
         $rot = Helpers::ruta('officetrack/enviartarea', 'POST', $savedata, false);
         $rot = Helpers::stdToArray($rot);
         if ($rot['officetrack'] == "OK") {
             //registrara normalmente
             DB::commit();
             $rgm['msj'] = 'Registro realizado correctamente con Officetrack';
             $rgm['estado_agendamiento'] = $dataGestion['estado_agendamiento'];
             $rgm['tecnico'] = $dataGestion['tecnico'];
             if ($dataGestion["estado_agendamiento"] != '1-1' and $dataGestion["tecnico"] != '') {
                 $url = "http://psiweb.ddns.net:2230/webpsi/sms_enviar_individual_ajax.php";
                 $tecnicoinfo = DB::table('tecnicos')->where('id', $dataGestion["tecnico"])->first();
                 $postData = array('enviar_sms' => 1, 'celular' => '996475583', 'iduser' => Auth::user()->id, 'mensaje' => "La actuación: " . $dataGestion['codactu'] . " ha sido eliminada, favor de sincronizar para actualizar. PSI-OFFICETRACK");
                 $rgm['mensaje'] = "Llego";
                 $ch = curl_init();
                 curl_setopt($ch, CURLOPT_URL, $url);
                 curl_setopt($ch, CURLOPT_HEADER, false);
                 curl_setopt($ch, CURLOPT_POST, true);
                 curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                 //Retorno
                 $result = curl_exec($ch);
                 curl_close($ch);
             } else {
                 $rgm['mensaje'] = "No Llego :(";
             }
             return Response::json($rgm);
         } else {
             DB::rollback();
             return Response::json(array('rst' => 2, 'msj' => 'No se pudo realizar el envio : ' . $rot['officetrack'] . '; Intente nuevamente el envio a officetrack', 'codactu' => $dataGestion['codactu']));
         }
     } elseif ($rgm['rst'] == "1") {
         DB::commit();
         $rgm['msj'] = 'Registro realizado correctamente';
         return Response::json($rgm);
     } else {
         DB::rollback();
         $this->_errorController->saveError($rgm['err']);
         return Response::json(array('rst' => 2, 'msj' => $rgm['msj']));
     }
     /*else { // registrará directo sin officetrack
                 $rgm = Helpers::ruta(
                     'gestion_movimiento/crear',
                     'POST', 
                     $dataGestion, 
                     false
                 );
     
                 $rgm= Helpers::stdToArray($rgm);
                 $rgm['msj']='Registro realizado correctamente';
                 return Response::json(
                     $rgm
                 );
             }*/
 }