function crearSolicitudTarea($tipo, $id, $fecha_inicio, $fecha_fin, $titulo, $descripcion, $encargado, $prioridad, $proyeccion, $url) { LogController::logWebServiceIn('Llamada a web service: ' . __FILE__ . ' - ' . __FUNCTION__, compact('tipo', 'id', 'fecha_inicio', 'fecha_fin', 'titulo', 'descripcion', 'encargado', 'prioridad', 'proyeccion', 'url')); $returnMessage = ""; $handlerAttachmentCore = new AttachmentCore(); $handlerRequestCore = new RequestCore(); $handlerUserCore = new UserCore(); $handlerFlowSettingsCore = new FlowSettingsCore(); // Tomar datos de aprobador $flow = Flow::find(FLOW_TAREAS); $creador = User::find($encargado); if ($creador) { $jefe = User::find($creador->user_reports_to); if (!$jefe) { $jefe = User::find($flow->flow_administrator); } // Crear solicitud $request_flow = $flow->flow_id; $request_id = $handlerRequestCore->getLastGeneralRequestId() + 1; $inner_request_id = $handlerRequestCore->getLastGeneralRequestId($request_flow) + 1; $request_name = "Aprobación: " . $titulo; $request_description = "Aprobación de tarea: " . $descripcion; $request_createdby = $creador->user_id; $request_assignedto = $jefe->user_id; $handlerRequestCore->createNewRequest($request_id, $inner_request_id, $request_flow, $request_name, $request_description, $request_createdby, $request_assignedto); Tarea::create(["ef_id" => $request_id, "ext_id" => $id, "tipo" => $tipo, "titulo" => $titulo, "descripcion" => $descripcion, "encargado" => $request_createdby, "aprobador_1" => $request_assignedto, "aprobador_2" => "", "fecha_inicio" => $fecha_inicio, "fecha_fin" => $fecha_fin, "prioridad" => $prioridad, "proyeccion" => $proyeccion]); RequestMetadataCore::set($request_id, "APR-DOBLE-APROBACION", "No"); RequestMetadataCore::set($request_id, "APR-APROBADO", "No"); RequestMetadataCore::set($request_id, "APR-COMENTARIO", ""); //Tomar archivo de campo url y adjuntar if ($url != '') { $tmpFileName = basename($url); file_put_contents($tmpFileName, fopen($url, 'r')); $filetype = FlowSettingsCore::get($request_flow, "APR_FILE_ADJUNTO"); $handlerAttachmentCore->addAttachmentToRequest($request_id, $filetype, dirname(__FILE__) . "/" . $tmpFileName, $_SESSION["environment_path"], "admin", "Adjunto de tarea"); } } else { $returnMessage = "ERROR: Usuario " . $encargado . " no existe en BPM. Imposible continuar"; } return $returnMessage; }