public function insertReclamo() { $input = Request::createFromGlobals(); $handlerRequestCore = new \RequestCore(); $handlerAttachmentCore = new \AttachmentCore(); $clase = Clase::find($input->reclamo['clase']); // Asignar creador $creador = $asignado_a = FlowSettingsCore::get(FLOW_RECLAMOS, "REC_PRO_USUARIO_VL"); if (FlowSettingsCore::get(FLOW_RECLAMOS, "REC_PRO_REGION_EXT") == $input->reclamo['region']) { $creador = $asignado_a = FlowSettingsCore::get(FLOW_RECLAMOS, "REC_PRO_USUARIO_EXP"); } $extemporaneo = false; $customStep = ""; foreach ($input->facturas as $factura) { if ($factura['infoFactura']['extemporaneo'] == true) { $customStep = FlowSettingsCore::get(FLOW_RECLAMOS, "REC_STEP_EXTEMPORANEAS"); $asignado_a = FlowSettingsCore::get(FLOW_RECLAMOS, "REC_USER_EXTEMPORANEAS"); $extemporaneo = true; break; } } $request_id = $handlerRequestCore->createNewRequest(0, 0, FLOW_RECLAMOS, "Reclamo - " . date("Y-m-d") . " - " . $input->cliente['nombre'], "Reclamo - " . date("Y-m-d") . " - " . $input->cliente['nombre'], $creador, $asignado_a, $customStep); $reclamo = Reclamo::create(['ef_id' => $request_id, 'cliente_codigo' => $input->cliente['codigo'], 'cliente_nombre' => $input->cliente['nombre'], 'cliente_identificacion' => $input->cliente['identificacion'], 'cliente_direccion' => $input->cliente['direccion'], 'contacto_nombre' => $input->contacto['nombre'], 'contacto_telefono' => $input->contacto['telefono'], 'contacto_email' => $input->contacto['email'], 'reclamo_descripcion' => $input->reclamo['descripcion'], 'reclamo_fecha_inicio' => date('Y-m-d H:i:s'), 'reclamo_clase' => $input->reclamo['clase'], 'reclamo_region' => $input->reclamo['region'], 'reclamo_extemporaneo' => $extemporaneo ? 1 : 0, 'reclamo_num_interno' => $input->reclamo['num_interno'], 'reclamo_monto' => $input->reclamo['total_reclamo'], 'visita_requiere' => 0]); $listaFacturas = array(); foreach ($input->facturas as $factura) { foreach ($factura['detalles'] as $detalle) { if ($detalle['cantidad_reclamo'] > 0 || $detalle['cantidad_no_facturado'] > 0) { if ($detalle['cantidad_no_facturado'] > 0) { $cantidad = $detalle['cantidad_no_facturado']; $valor = $detalle['valor_no_facturado']; $lote = $detalle['lote_no_facturado']; } else { $cantidad = $detalle['cantidad_reclamo']; $valor = $detalle['cantidad_reclamo'] * $detalle['precioUnitario']; $lote = $detalle['lote']; } ReclamoDetalle::create(['reclamo_id' => $reclamo->id, 'factura' => $factura['infoFactura']['numero_factura'], 'factura_fecha' => $factura['infoFactura']['fechaEmision'], 'producto_comercial' => $detalle['clase'], 'codigo_item' => $detalle['codigoPrincipal'], 'descripcion_item' => $detalle['descripcion'], 'precio_unitario' => $detalle['precioUnitario'], 'cantidad_original' => $detalle['cantidad'], 'cantidad_reclamo' => $cantidad, 'valor_reclamo' => $valor, 'lote_reclamo' => $lote]); $listaFacturas[] = $factura['infoFactura']['numero_factura']; } } } $listaFacturas = array_unique($listaFacturas); foreach ($input->adjuntos as $adjunto) { $handlerAttachmentCore->addAttachmentToRequest($request_id, $adjunto['filetype']['filetype_id'], $adjunto['filename'], APP_ENVPATH, 'admin', 'Adjunto del cliente'); } RequestMetadataCore::set($request_id, 'REC-CODIGO-CLIENTE', $input->cliente['codigo']); RequestMetadataCore::set($request_id, 'REC-NOMBRE-CLIENTE', $input->cliente['nombre']); RequestMetadataCore::set($request_id, 'REC-IDENTIFICACION-CLIENTE', $input->cliente['identificacion']); RequestMetadataCore::set($request_id, 'REC-EMAIL-CLIENTE', $input->cliente['email']); RequestMetadataCore::set($request_id, 'REC-EMAIL-CONTACTO', $input->contacto['email']); RequestMetadataCore::set($request_id, 'REC-CLASE', $clase->nombre); RequestMetadataCore::set($request_id, 'REC-NUMERO-FACTURA', implode(',', $listaFacturas)); RequestMetadataCore::set($request_id, 'REC-NUMERO-REC-CLIENTE', $input->reclamo['num_interno']); RequestMetadataCore::set($request_id, 'REC-DESCRIPCION', $input->reclamo['descripcion']); RequestMetadataCore::set($request_id, 'REC-MONTO-DECISION', $input->reclamo['total_reclamo']); $request = EFRequest::find($request_id); echo $request->request_inner_id; }
function requisicionFinalizada($requestId) { $messageArray = array("message_value" => "Solicitud finalizada con éxito!", "message_type" => "success"); $request = Request::find($requestId); // Enviar mails $emails = []; $user = User::find(Request::find($requestId)->request_createdby); if ($user) { if (filter_var($user->user_email, FILTER_VALIDATE_EMAIL)) { $emails[] = ['email' => $user->user_email]; } } $user = User::find(\RequestMetadataCore::get($requestId, "ADQ-APROBADOR-REQUISICION")); if ($user) { if (filter_var($user->user_email, FILTER_VALIDATE_EMAIL)) { $emails[] = ['email' => $user->user_email]; } } $subject = "AVISO: Requisición finalizada"; $requisicion = Requisicion::where('ef_id', $requestId)->first(); MailController::sendGeneralMail($emails, $subject, view('Adquisiciones.Emails.requisicion_cancelada', compact('request', 'requisicion'))); return $messageArray; }
<?php use EasyFlow\Master\Models\Request; use EasyFlow\Master\Models\Connector; use EasyFlow\Master\Controllers\LogController; require_once dirname(dirname(__DIR__)) . "/includes/configuration.php"; try { $periodosArray = []; $periodos_bpcs = Connector::connect(\FlowSettingsCore::get(FLOW_RECLAMOS, 'REC_CONN_PERIODOS_BPCS')); $first_request = Request::where('request_flow', FLOW_RECLAMOS)->first(); $first_year = date('Y', strtotime($first_request->request_start_date)); $first_month = date('m', strtotime($first_request->request_start_date)); $first_date = strtotime($first_year . '-' . $first_month); foreach ($periodos_bpcs->data as $periodo) { if (strtotime($periodo['PLYEAR'] . '-' . $periodo['PLPERD']) >= $first_date) { $start = substr($periodo['PLSDAT'], 0, 4) . '-' . substr($periodo['PLSDAT'], 4, 2) . '-' . substr($periodo['PLSDAT'], 6, 2); $end = substr($periodo['PLEDAT'], 0, 4) . '-' . substr($periodo['PLEDAT'], 4, 2) . '-' . substr($periodo['PLEDAT'], 6, 2); $periodosArray[] = ['name' => 'Período BPCS: ' . $periodo['PLYEAR'] . '-' . $periodo['PLPERD'] . ' (Desde ' . $start . ' hasta ' . $end . ')', 'shortname' => $periodo['PLYEAR'] . '-' . $periodo['PLPERD'], 'start' => $start, 'end' => $end]; } } // Write file file_put_contents(APP_ENVPATH . '/includes/InterfaceData/Periodos.json', json_encode($periodosArray)); } catch (Exception $e) { LogController::logCron('Error al ejecutar cron (JobDailyActionSummaryi.php)', ['error' => $e->getMessage()], 'ERROR'); echo $e->getMessage(); }