/** * Reenvio hacia Officetrack * @return type */ public function postProcesarot() { //Obtener carnet de tecnico $data['carnet'] = ""; $tecnico = DB::table('tecnicos')->where('id', '=', Input::get("tecnico_id"))->get(); if (isset($tecnico[0])) { $data['carnet'] = $tecnico[0]->carnet_tmp; } $data["coordinado2"] = Input::get("coordinado2"); $data["gestion_id"] = Input::get("gestion_id"); //$data['carnet'] = ""; $data['fecha_registro'] = Input::get("fecha_registro"); $horaIni = "04:00:00"; $horaFin = "06:00:00"; $fechaHora = explode("/", Input::get("fh_agenda")); $data['fecha_agenda'] = trim($fechaHora[0]); $data['hora_agenda'] = trim($fechaHora[1]); $horas = explode("-", $data['hora_agenda']); if (isset($horas[0])) { $horaIni = trim($horas[0]) . ":00"; } if (isset($horas[1])) { $horaFin = trim($horas[1]) . ":00"; } //Duracion $toTime = strtotime("{$data['fecha_agenda']} {$horaIni}"); $fromTime = strtotime("{$data['fecha_agenda']} {$horaFin}"); $data["duration"] = round(abs($toTime - $fromTime) / 60, 2); $data['codactu'] = Input::get("codactu"); $data['fecha_registro'] = Input::get("fecha_registro"); $data['nombre_cliente'] = Input::get("nombre_cliente"); $data['direccion_instalacion'] = Input::get("direccion_instalacion"); $data["actividad"] = Input::get("actividad"); $data['codmotivo_req_catv'] = Input::get("act_codmotivo_req_catv"); $data['orden_trabajo'] = Input::get("orden_trabajo"); $data['fftt'] = Input::get("fftt"); $data['dir_terminal'] = Input::get("dir_terminal"); $data['inscripcion'] = Input::get("inscripcion"); $data['mdf'] = Input::get("mdf"); $data['segmento'] = Input::get("segmento"); $data['clase_servicio_catv'] = Input::get("clase_servicio_catv"); $data['total_averias'] = Input::get("total_averias"); $data['zonal'] = Input::get("zonal"); $data['llamadastec15dias'] = Input::get("llamadastec15dias"); $data['quiebre'] = Input::get("quiebre"); $data['lejano'] = Input::get("lejano"); $data['distrito'] = Input::get("distrito"); $data['averia_m1'] = Input::get("averia_m1"); $data['telefono_codclientecms'] = Input::get("telefono_codclientecms"); $data['area2'] = Input::get("area2"); $data['eecc_final'] = Input::get("eecc_final"); $data["gestion_id"] = Input::get("gestion_id"); $data['estado'] = Input::get("estado"); $data['cr_observacion'] = Input::get("cr_observacion"); $data['velocidad'] = Input::get("velocidad"); $data["estado_agendamiento"] = "1-1"; //Inicio componentes $arrComponentes = array(); $cmp = Helpers::ruta('cat_componente/cargar', 'POST', array('codactu' => $data['codactu']), false); $cmp = Helpers::stdToArray($cmp); if ($cmp["rst"] == 1 and count($cmp["datos"]) > 0) { foreach ($cmp["datos"] as $val) { $arrComponentes[] = $val["nombre"]; } } $data["componente_text"] = $arrComponentes; //Fin componentes $savedata["otdata"] = $data; $rot = Helpers::ruta('officetrack/enviartarea', 'POST', $savedata, false); $rot = Helpers::stdToArray($rot); if ($rot['officetrack'] == 'OK') { $query = "select GenerarReenvio(" . $data["gestion_id"] . "," . Auth::user()->id . ",'" . $data['cr_observacion'] . "')"; $reenvio = DB::select($query); } return json_encode($rot); }
public function postSaveplan() { if (Request::ajax()) { if (Input::get('savePlanAll') != '') { $post = Input::get('savePlanAll'); //Resultado del proceso $saveActu = array(); //Todos los datos $dataArray = explode("|^~", $post); /** * $genArray[0]: empresa_id * $genArray[1]: celula_id * $genArray[2]: tecnico id * $genArray[3]: fecha agenda: dd/mm/yyyy */ $genArray = explode("|", $dataArray[0]); $actuArray = explode("|^", $dataArray[1]); foreach ($actuArray as $key => $val) { $dbCommit = true; DB::beginTransaction(); /** * $data[0]: 'Averia' o 'Provision' * $data[1]: codigo (requerimiento o averia) * $data[2]: id_gestion (''=temporal, num=gestionada) * $data[3]: horario_id * $data[4]: 1=coordinado,0=no coordinado * $data[5]: Latitud * $data[6]: Longitud */ $data = explode("|", $val); /** * Validar si temporal cambio a gestionado */ if (trim($data[2]) == '' or trim($data[2]) == 0) { $arrTmpGes = DB::table('ultimos_movimientos')->where('codactu', $data[1])->first(); $arrTmpGes = Helpers::stdToArray($arrTmpGes); if (count($arrTmpGes) > 0 and isset($arrTmpGes['gestion_id'])) { //ID de gestion $data[2] = $arrTmpGes['gestion_id']; $data[4] = $arrTmpGes['coordinado']; } } $date = substr($genArray[3], 6, 4) . "-" . substr($genArray[3], 3, 2) . "-" . substr($genArray[3], 0, 2); $dia_agenda = date('N', strtotime($date)); $tablatmp = Config::get("wpsi.db.tmp_" . strtolower($data[0])); $tmpdata = array(); //$actividad_id = 0; $tmptable = new Tmptable(); $celula = explode("_", $genArray[1]); //Origen Temporal if ($data[0] == "Averia") { //$actividad_id = 1; $tmpdata = $tmptable->getAveria($data[1]); } if ($data[0] == "Provision") { //$actividad_id = 2; $tmpdata = $tmptable->getProvision($data[1]); } $actividad = DB::table('actividades')->where('nombre', $data[0])->first(); //Horario $horario = DB::table('horarios')->where('id', $data[3])->first(); //Tecnico $objTecnico = DB::table('tecnicos')->where('id', $genArray[2])->first(); //Componentes $arrComponentes = array(); $cmp = Helpers::ruta('cat_componente/cargar', 'POST', array('codactu' => $data[1]), false); $cmp = Helpers::stdToArray($cmp); if ($cmp["rst"] == 1 and count($cmp["datos"]) > 0) { foreach ($cmp["datos"] as $val) { $arrComponentes[] = $val["nombre"]; } } //Respuesta GestionMovimiento $rgm = array(); if ($data[2] == 0) { if (isset($tmpdata[0])) { //Temporal $savedata = $tmpdata[0]; $savedata->actividad = $data[0]; $savedata->actividad_id = $actividad->id; $savedata->nombre_cliente_critico = $savedata->nombre_cliente; $savedata->telefono_cliente_critico = $savedata->telefono; $savedata->celular_cliente_critico = $savedata->telefono; $quiebre = DB::table('quiebres')->where('apocope', $savedata->quiebre)->first(); $empresa = DB::table('empresas')->where('nombre', $savedata->eecc_final)->first(); $zonal = DB::table('zonales')->where('abreviatura', $savedata->zonal)->first(); $tecnico = DB::table('tecnicos')->where('carnet_tmp', $savedata->zonal)->first(); $savedata->quiebre_id = $quiebre->id; $savedata->empresa_id = $genArray[0]; $savedata->zonal_id = $zonal->id; //Motivo gestion $savedata->estado = 2; $savedata->motivo = 1; $savedata->submotivo = 1; $savedata->flag_tecnico = 1; $savedata->horario_id = $data[3]; $savedata->dia_id = $dia_agenda; $savedata->fecha_agenda = $date; $savedata->celula = $celula[1]; $savedata->tecnico = $genArray[2]; $savedata->hora_agenda = $horario->horario; $savedata->duration = 2; $savedata->carnet = $objTecnico->carnet_tmp; $savedata->coordinado2 = 'NO'; $savedata->velocidad = ""; $velocidad = explode("|", $savedata->paquete); if (isset($velocidad[2])) { $savedata->velocidad = $velocidad[2]; } $savedata->estado_agendamiento = '1-1'; $savedata->submodulo_id = 1; $savedata->y = $data[5]; $savedata->x = $data[6]; $savedata->componente_text = $arrComponentes; //Grabar gestión $rgm = Helpers::ruta('gestion_movimiento/crear', 'POST', Helpers::stdToArray($savedata), false); $rgm = Helpers::stdToArray($rgm); $saveActu[$data[0]][$data[1]] = $rgm; /** * Validar si se enviará a officetrack */ $valida = array(); //Si cumple con el envio a OT acitividad + quiebre $valida["actividad_id"] = $savedata->actividad_id; $valida["quiebre_id"] = $savedata->quiebre_id; //El estado del tecnico de officetrack $valida["tecnico_id"] = $savedata->tecnico; $valida["celula_id"] = $savedata->celula; //El estado de Agendamiento para officetrack $valida["motivo_id"] = 1; $valida["submotivo_id"] = 1; $valida["estado_id"] = 2; //Si anteriormente se realizó una transacción OT $valida["transmision"] = 0; $rvalida = Helpers::ruta('officetrack/validar', 'POST', $valida, false); //Puede enviar a OT y Grabó en DB if ($rvalida == "1" and $rgm['rst'] == "1") { //Recuperar ID de gestion $savedata->gestion_id = $rgm['gestion_id']; $otdata["otdata"] = Helpers::stdToArray($savedata); $rot = Helpers::ruta('officetrack/enviartarea', 'POST', $otdata, false); $rot = Helpers::stdToArray($rot); $saveActu[$data[0]][$data[1]]['officetrack'] = $rot['officetrack']; } else { $saveActu[$data[0]][$data[1]]['officetrack'] = "Envio no valido"; $dbCommit = false; $rgm["msj"] = "Envio no valido"; $geserror = ""; if (isset($rgm['err'])) { $geserror = base64_decode($rgm['err']); } $rgm["err"] = base64_encode($rgm["msj"] . $rvalida . $geserror); } unset($savedata); } } else { if ($data[2] > 0) { //Origen Gestionado $geoplan = new Geoplan(); $ultimo = $geoplan->getUltimoMovimiento($data[2]); $gesmov = $ultimo["datos"][0]; if (isset($tmpdata[0])) { $savedata = Helpers::stdToArray($tmpdata[0]); } $ultimov = DB::table('ultimos_movimientos')->where('gestion_id', $data[2])->first(); $savedata = Helpers::stdToArray($ultimov); //Coordinado con cliente if ($data[4] == 1) { $horario = DB::table('horarios')->where('id', $ultimov->horario_id)->first(); $data[3] = $horario->id; $dia_agenda = $ultimov->dia_id; $date = $ultimov->fecha_agenda; } $savedata["actividad"] = $data[0]; $savedata["actividad_id"] = $actividad->id; $savedata["gestion_id"] = $data[2]; $savedata["empresa_id"] = $genArray[0]; $savedata["zonal_id"] = $gesmov->zonal_id; $savedata["estado"] = 2; $savedata["motivo"] = 1; $savedata["submotivo"] = 1; $savedata["observacion2"] = ""; $savedata["coordinado2"] = ""; $savedata["flag_tecnico"] = 1; $savedata["horario_id"] = $data[3]; $savedata["dia_id"] = $dia_agenda; $savedata["fecha_agenda"] = $date; $savedata["celula"] = $celula[1]; $savedata["tecnico"] = $genArray[2]; $savedata["hora_agenda"] = $horario->horario; $savedata["duration"] = 60; $savedata["estado_agendamiento"] = '1-1'; $savedata["submodulo_id"] = 1; $savedata["y"] = $data[5]; $savedata["x"] = $data[6]; $savedata["componente_text"] = $arrComponentes; //Datos faltantes para officetrack if (!isset($savedata["quiebre"])) { $quiebre = DB::table('quiebres')->where('id', $savedata["quiebre_id"])->first(); $savedata["quiebre"] = $quiebre->apocope; } if (!isset($savedata["eecc_final"])) { $quiebre = DB::table('empresas')->where('id', $savedata["empresa_id"])->first(); $savedata["eecc_final"] = $quiebre->nombre; } if (!isset($savedata["cr_observacion"])) { $savedata["cr_observacion"] = $savedata["observacion"]; } if (!isset($savedata["carnet"])) { $savedata["carnet"] = $objTecnico->carnet_tmp; } $savedata["velocidad"] = ""; if (isset($savedata["paquete"])) { $velocidad = explode("|", $savedata["paquete"]); if (isset($velocidad[2])) { $savedata["velocidad"] = $velocidad[2]; } } /** * Validar si se enviará a officetrack */ $valida = array(); //Si cumple con el envio a OT acitividad + quiebre $valida["actividad_id"] = $actividad->id; $valida["quiebre_id"] = $gesmov->quiebre_id; //El estado del tecnico de officetrack $valida["tecnico_id"] = $genArray[2]; $valida["celula_id"] = $celula[1]; //El estado de Agendamiento para officetrack $valida["motivo_id"] = 1; $valida["submotivo_id"] = 1; $valida["estado_id"] = 2; //Si anteriormente se realizó una transacción OT $valida["transmision"] = $gesmov->transmision; $rvalida = Helpers::ruta('officetrack/validar', 'POST', $valida, false); //Grabar gestión $rgm = Helpers::ruta('gestion_movimiento/crear', 'POST', Helpers::stdToArray($savedata), false); $rgm = Helpers::stdToArray($rgm); $saveActu[$data[0]][$data[1]] = $rgm; //Envia a OT y Grabó gestión if ($rvalida == "1" and $rgm['rst'] == "1") { $otdata["otdata"] = $savedata; $rot = Helpers::ruta('officetrack/enviartarea', 'POST', $otdata, false); $rot = Helpers::stdToArray($rot); $saveActu[$data[0]][$data[1]]["officetrack"] = $rot['officetrack']; } else { $saveActu[$data[0]][$data[1]]["officetrack"] = "Envio no valido"; $dbCommit = false; $rgm["msj"] = "Envio no valido"; $geserror = ""; if (isset($rgm['err'])) { $geserror = base64_decode($rgm['err']); } $rgm["err"] = base64_encode($rgm["msj"] . $rvalida . $geserror); } unset($savedata); } } //Commit o Rollback if ($dbCommit) { DB::commit(); } else { DB::rollback(); $custom["code"] = "R001"; $custom["file"] = __FILE__; $custom["line"] = __LINE__; $custom["message"] = base64_decode($rgm["err"]); $custom["trace"] = "RollBack Geo Planificacion"; $custom["usuario_id"] = Auth::user()->id; $custom["date"] = date("Y-m-d H:i:s"); $this->_errorController->saveCustomError($custom); $saveActu[$data[0]][$data[1]]["rst"] = 2; $saveActu[$data[0]][$data[1]]["msj"] = "No se registra movimiento"; } } return json_encode($saveActu); } } }
/** * 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 ); }*/ }