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; } }
/** * 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); }
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"); } }
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; }
/** * 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 ); }*/ }