Esempio n. 1
0
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"]);
}
Esempio n. 2
0
        $tmpArray = explode("||", $_POST["detalles"][$i]);
        $reclamoDetalleData = array("reclamo" => $reclamo_id, "factura" => $tmpArray[0], "factura_fecha" => $tmpArray[9], "producto_comercial" => $tmpArray[2], "codigo_item" => $tmpArray[1], "descripcion_item" => $tmpArray[3], "precio_unitario" => $tmpArray[4], "cantidad_original" => $tmpArray[5], "cantidad_reclamo" => $tmpArray[6], "valor_reclamo" => $tmpArray[7], "lote_reclamo" => $tmpArray[8]);
        $handlerReclamoDetalleCore->insert($reclamoDetalleData);
        $listaFacturas[] = $tmpArray[0];
    }
}
$listaFacturas = array_unique($listaFacturas);
if (isset($_REQUEST["archivos"])) {
    for ($i = 0; $i < count($_POST["archivos"]); $i++) {
        $tmpArray = explode("||", $_POST["archivos"][$i]);
        if ($tmpArray[0] != "" && $tmpArray[1] != "") {
            $handlerAttachmentCore->addAttachmentToRequest($request_id, $tmpArray[0], $tmpArray[1], $_SESSION["environment_path"], "admin", "Adjunto del cliente");
        }
    }
}
$status = $reclamo_id;
$handlerRequestMetadataCore->setVariable($request_id, "REC-CODIGO-CLIENTE", $_POST["cliente_codigo"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-NOMBRE-CLIENTE", $_POST["cliente_nombre"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-IDENTIFICACION-CLIENTE", $_POST["cliente_identificacion"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-EMAIL-CLIENTE", $_POST["cliente_email"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-EMAIL-CONTACTO", $_POST["contacto_email"]);
$claseData = $handlerClaseCore->getRecordById($_POST["reclamo_clase"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-CLASE", $claseData["nombre"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-TIPO", $handlerGeneralCore->getLabelTipoReclamo($tipo));
$handlerRequestMetadataCore->setVariable($request_id, "REC-NUMERO-FACTURA", implode(",", $listaFacturas));
$handlerRequestMetadataCore->setVariable($request_id, "REC-NUMERO-INTERNO", $reclamoResult[0]["inner_id"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-NUMERO-REC-CLIENTE", $_POST["reclamo_num_interno"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-DESCRIPCION", $_POST["reclamo_descripcion"]);
$handlerRequestMetadataCore->setVariable($request_id, "REC-MONTO-DECISION", $reclamo_monto);
$handlerRequestMetadataCore->setVariable($request_id, "REC-MONTO-NC", 0);
echo $status;