本文整理汇总了PHP中RequestCore::getLastGeneralRequestId方法的典型用法代码示例。如果您正苦于以下问题:PHP RequestCore::getLastGeneralRequestId方法的具体用法?PHP RequestCore::getLastGeneralRequestId怎么用?PHP RequestCore::getLastGeneralRequestId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RequestCore
的用法示例。
在下文中一共展示了RequestCore::getLastGeneralRequestId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: crearSolicitudTarea
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;
}
示例2: crearDocumentoYSolicitud
function crearDocumentoYSolicitud($arrayCabecera, $arrayLineas, $tmpString, $rideContent, $rideExtension, $fullXml)
{
$handlerRequestCore = new RequestCore();
$handlerAttachmentCore = new AttachmentCore();
$handlerRequestMetadataCore = new RequestMetadataCore();
// Verificar el usuario creador / al que se asignará
$creator = Responsable::whereRuc($arrayCabecera['ruc'])->lists('responsable')->implode(',');
if (empty($creator)) {
$creator = FlowSettingsCore::get(FLOW_RECEPCIONDOCUMENTOS, "RDE_DEF_ASIGNACION");
}
if ($arrayCabecera["tipo_doc"] == "FAC") {
$customStep = FlowSettingsCore::get(FLOW_RECEPCIONDOCUMENTOS, "RDE_STEP_FACTURAS");
} else {
$customStep = FlowSettingsCore::get(FLOW_RECEPCIONDOCUMENTOS, "RDE_STEP_OTROS");
$creator = '';
}
// Crear solicitud por cada proveedor
$request_flow = FLOW_RECEPCIONDOCUMENTOS;
$request_id = $handlerRequestCore->getLastGeneralRequestId() + 1;
$inner_request_id = $handlerRequestCore->getLastGeneralRequestId($request_flow) + 1;
$request_name = $request_description = $arrayCabecera["tipo_doc"] . " - " . $arrayCabecera["razonSocial"];
$request_createdby = "admin";
$request_id = $handlerRequestCore->createNewRequest($request_id, $inner_request_id, $request_flow, $request_name, $request_description, $request_createdby, $creator, $customStep);
// Crear documento
$arrayCabecera['ef_id'] = $request_id;
$documento = Documento::create($arrayCabecera);
// Setear id_documento en líneas e insertar
foreach ($arrayLineas as &$linea) {
$linea['id_documento'] = $documento->id;
DocumentoLinea::create($linea);
}
// Guardar archivos temporales en disco
$xmlFile = dirname(__FILE__) . "/facturas/tmpAttachments/tmp.xml";
$pdfFile = dirname(__FILE__) . "/facturas/tmpAttachments/tmp." . $rideExtension;
$filetypeXml = FlowSettingsCore::get(FLOW_RECEPCIONDOCUMENTOS, "RDE_FILE_XML");
$filetypePdf = FlowSettingsCore::get(FLOW_RECEPCIONDOCUMENTOS, "RDE_FILE_PDF");
//file_put_contents($xmlFile, $tmpString);
file_put_contents($xmlFile, $fullXml);
$handlerAttachmentCore->addAttachmentToRequest($request_id, $filetypeXml, $xmlFile, $_SESSION["environment_path"], "admin", "Documento XML");
if (!empty($rideExtension) && !empty($rideContent)) {
file_put_contents($pdfFile, $rideContent);
$handlerAttachmentCore->addAttachmentToRequest($request_id, $filetypePdf, $pdfFile, $_SESSION["environment_path"], "admin", "Documento PDF");
}
// Setear variables de solicitud
$handlerRequestMetadataCore->setVariable($request_id, "RDE-TIPO-DOCUMENTO", $arrayCabecera["tipo_doc"]);
$handlerRequestMetadataCore->setVariable($request_id, "RDE-NUM-DOCUMENTO", $arrayCabecera["estab"] . "-" . $arrayCabecera["ptoEmi"] . "-" . $arrayCabecera["secuencial"]);
$handlerRequestMetadataCore->setVariable($request_id, "RDE-NOMBRE-PROVEEDOR", $arrayCabecera["razonSocial"]);
}
示例3: ingresarRequisicionesYSolicitudes
public static function ingresarRequisicionesYSolicitudes($datos_requisicion)
{
$handlerRequestCore = new \RequestCore();
$handlerUserCore = new \UserCore();
$handlerFlowCore = new \FlowCore();
$handlerFlowSettingsCore = new \FlowSettingsCore();
// Tomar cada una de las requisiciones del arreglo de entrada
foreach ($datos_requisicion as $requisicion) {
// Extraer datos de cabecera y líneas
$cabecera = $requisicion['cabecera'];
$lineas = $requisicion['lineas'];
$clase = Clase::find($cabecera['id_clase']);
// Validaciones
$aprobadores = explode(',', $clase->aprobador_requisicion);
if (count($aprobadores) == 0) {
return 'No existen aprobadores para la clase "' . $clase->nombre . '". Imposible continuar';
}
// Si ya se estableció un solicitante y el valor no está vacío lo busco en EasyFlow
// Si este último no existe en EF asignar el primer usuario aprobador como solicitante
if (isset($cabecera['id_solicitante']) && !empty($cabecera['id_solicitante'])) {
$solicitante = User::with('area')->find($cabecera['id_solicitante']);
}
if (!$solicitante) {
return 'No existe el usuario en el BPM, imposible continuar';
}
// Paso personalizado para cada clase
$flow = Flow::find(FLOW_ADQUISICIONES);
$first_step = $flow->flow_first_step;
if ($clase->primer_paso != null || $clase->primer_paso == '' || $clase->primer_paso != 0) {
$step = Step::whereStepFlow($flow->flow_id)->whereStepId($clase->primer_paso)->first();
if ($step) {
$first_step = $step->step_id;
}
}
// Crear solicitud EF
$request_flow = $flow->flow_id;
$request_id = $handlerRequestCore->getLastGeneralRequestId() + 1;
$inner_request_id = $handlerRequestCore->getLastGeneralRequestId($request_flow) + 1;
if ($clase->id == 11) {
$request_name = $request_description = 'Requisición - ' . $solicitante->user_name . ' - Hacienda: ' . ucwords(strtolower($cabecera['nombre_cc']));
} else {
$request_name = $request_description = 'Requisición - ' . $solicitante->user_name . ' - Departamento: ' . ucwords(strtolower($cabecera['nombre_cc']));
}
$request_createdby = $solicitante->user_id;
// Si el aprobador de requisición está seteado como 'boss'
if ($clase->aprobador_requisicion == 'boss') {
// Si el usuario tiene seteado un aprobador
if ($solicitante->user_reports_to != '') {
// Si este aprobador existe
$user_reports_to = User::find($solicitante->user_reports_to);
if ($user_reports_to) {
$request_assignedto = $user_reports_to->user_id;
} else {
$request_assignedto = $solicitante->user_id;
}
} else {
$request_assignedto = $solicitante->user_id;
}
} else {
$request_assignedto = $clase->aprobador_requisicion;
}
$request_start_step = $clase->primer_paso;
$handlerRequestCore->createNewRequest($request_id, $inner_request_id, $request_flow, $request_name, $request_description, $request_createdby, $request_assignedto, $request_start_step);
// Crear cabecera de requisición
$requisicionCabecera = Requisicion::create(array('ef_id' => $request_id, 'ext_id' => isset($cabecera['ext_id']) ? $cabecera['ext_id'] : null, 'id_clase' => $clase->id, 'fecha_inicio' => date('Y-m-d H:i:s'), 'fecha_estimada_fin' => isset($cabecera['fecha_estimada_fin']) ? $cabecera['fecha_estimada_fin'] : null, 'fecha_fin' => null, 'id_solicitante' => $solicitante->user_id, 'nombre_solicitante' => $solicitante->user_name, 'id_cc' => isset($cabecera['id_cc']) ? $cabecera['id_cc'] : $solicitante->area->id, 'nombre_cc' => isset($cabecera['nombre_cc']) ? $cabecera['nombre_cc'] : $solicitante->area->nombre, 'descripcion' => isset($cabecera['descripcion']) ? $cabecera['descripcion'] : null, 'observaciones' => isset($cabecera['observaciones']) ? $cabecera['observaciones'] : null, 'prioridad' => isset($cabecera['prioridad']) ? $cabecera['prioridad'] : null, 'id_proveedor' => isset($cabecera['id_proveedor']) ? $cabecera['id_proveedor'] : null, 'estado' => 'I'));
// Crear líneas de requisición
foreach ($lineas as $linea) {
RequisicionLinea::insert(array('id_requisicion' => $requisicionCabecera->id, 'ext_id' => isset($linea['ext_id']) ? $linea['ext_id'] : null, 'id_producto' => $linea['id_producto'], 'observacion_creador' => isset($linea['observacion_creador']) ? $linea['observacion_creador'] : null, 'cantidad' => $linea['cantidad'], 'estado' => 'I', 'bodega_haciendas' => isset($linea['bodega_haciendas']) ? $linea['bodega_haciendas'] : null, 'papel_cara' => isset($linea['papel_cara']) ? $linea['papel_cara'] : null, 'papel_laminas' => isset($linea['papel_laminas']) ? $linea['papel_laminas'] : null));
}
// Asignar variables de solicitud
RequestMetadataCore::set($request_id, 'ADQ-CLASE', $clase->id);
RequestMetadataCore::set($request_id, 'ADQ-ORIGEN', $clase->origen_requisicion);
RequestMetadataCore::set($request_id, 'ADQ-TIPO', $clase->tipo);
RequestMetadataCore::set($request_id, 'ADQ-RESPONSABLE-COMPRAS', $clase->responsable_compras);
RequestMetadataCore::set($request_id, 'ADQ-RESPONSABLE-BODEGAS', $clase->responsable_bodegas);
RequestMetadataCore::set($request_id, 'ADQ-APROBADOR-REQUISICION', $clase->aprobador_requisicion);
RequestMetadataCore::set($request_id, 'ADQ-REQ-APROBADA', 'No');
if ($clase->id == '1') {
RequestMetadataCore::set($request_id, 'ADQ-APROBADOR-COTIZACION', $clase->aprobador_requisicion);
} else {
RequestMetadataCore::set($request_id, 'ADQ-APROBADOR-COTIZACION', $solicitante->user_id);
}
// Ruteo especial:
// Papel: No requiere consolidación, sí requiere confirmación
// Comerciales: No requiere consolidación, sí requiere confirmación
$requiere_confirmacion = 'No';
$requiere_consolidacion = 'Si';
if ($requisicionCabecera->id_clase == 2) {
$requiere_confirmacion = 'Si';
$requiere_consolidacion = 'No';
}
if ($requisicionCabecera->id_clase == 3 || $requisicionCabecera->id_clase == 4 || $requisicionCabecera->id_clase == 5 || $requisicionCabecera->id_clase == 6) {
$requiere_confirmacion = 'Si';
$requiere_consolidacion = 'No';
}
RequestMetadataCore::set($request_id, 'ADQ-REQUIERE-CONFIRMACION', $requiere_confirmacion);
RequestMetadataCore::set($request_id, 'ADQ-REQUIERE-CONSOLIDACION', $requiere_consolidacion);
$requisicion = Requisicion::with('lineas.producto')->find($requisicionCabecera->id);
// Establecer usuario responsable
// Si son productos comerciales el responsable es el usuario creador
//.........这里部分代码省略.........