Search in sources :

Example 1 with Customer

use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.

the class FiscalDocumentPrint method getCustomer.

/**
 * Crea un <code>Customer</code> a partir de una entidad comercial.
 * @param bPartnerID ID de la entidad comercial.
 * @return el cliente correspondiente.
 */
public Customer getCustomer(int bPartnerID) {
    // TODO - Review this implementation
    MBPartner bPartner = new MBPartner(Env.getCtx(), bPartnerID, getTrxName());
    Customer customer = new Customer();
    if (bPartner != null) {
        // Se asigna la categoría de iva del cliente.
        LAR_TaxPayerType taxPayerType = LAR_TaxPayerType.getTaxPayerType(bPartner);
        customer.setIvaResponsibility(traduceTaxPayerType(taxPayerType.getName()));
        // TODO - Parametrize this method
        MInvoice mInvoice = (MInvoice) getOxpDocument();
        // Se asigna el nombre del cliente a partir del BPartner.
        customer.setName(bPartner.getName());
        // Se asigna el domicilio.
        MLocation location = MLocation.getBPLocation(Env.getCtx(), mInvoice.getC_BPartner_Location_ID(), getTrxName());
        customer.setLocation(location.toString());
        // Bpartner.
        if (bPartner.getTaxID() != null && !bPartner.getTaxID().trim().equals("")) {
            customer.setIdentificationType(Customer.CUIT);
            customer.setIdentificationNumber(bPartner.getTaxID());
        }
    }
    return customer;
}
Also used : Customer(ar.com.ergio.print.fiscal.document.Customer) MInvoice(org.compiere.model.MInvoice) MBPartner(org.compiere.model.MBPartner) LAR_TaxPayerType(ar.com.ergio.model.LAR_TaxPayerType) MLocation(org.compiere.model.MLocation)

Example 2 with Customer

use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.

the class FiscalDocumentPrint method createDNFH.

private DNFH createDNFH(final MInOut shipment) {
    final DNFH dnfh = new DNFH();
    // Se asigna el cliente.
    Customer customer = null;
    final MBPartner bPartner = new MBPartner(Env.getCtx(), shipment.getC_BPartner_ID(), null);
    if (bPartner != null) {
        customer = new Customer();
        // Se asigna la categoría de iva del cliente.
        LAR_TaxPayerType taxPayerType = LAR_TaxPayerType.getTaxPayerType(bPartner);
        customer.setIvaResponsibility(traduceTaxPayerType(taxPayerType.getName()));
        // Se asigna el nombre del cliente a partir del BPartner.
        customer.setName(bPartner.getName());
        // Se asigna el domicilio.
        final MLocation location = MLocation.getBPLocation(Env.getCtx(), shipment.getC_BPartner_Location_ID(), getTrxName());
        customer.setLocation(location.toString());
        // Se identifica al cliente con el C.U.I.T. configurado en el Bpartner.
        if (bPartner.getTaxID() != null && !bPartner.getTaxID().trim().equals("")) {
            customer.setIdentificationType(Customer.CUIT);
            customer.setIdentificationNumber(bPartner.getTaxID());
        }
    }
    dnfh.setCustomer(customer);
    // Recupera el numero de copias a imprimir
    int numberOfCopies = MSysConfig.getIntValue("LAR_Remitos_NumeroDeCopias", 0, Env.getAD_Client_ID(shipment.getCtx()));
    dnfh.setNumberOfCopies(numberOfCopies);
    // Cargar las lineas del remito
    loadDNFHLines(shipment, dnfh);
    return dnfh;
}
Also used : Customer(ar.com.ergio.print.fiscal.document.Customer) MBPartner(org.compiere.model.MBPartner) DNFH(ar.com.ergio.print.fiscal.document.DNFH) LAR_TaxPayerType(ar.com.ergio.model.LAR_TaxPayerType) MLocation(org.compiere.model.MLocation)

Example 3 with Customer

use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.

the class HasarFiscalPrinter method printDocument.

public void printDocument(final DNFH dnfh) throws FiscalPrinterStatusError, FiscalPrinterIOException, DocumentException {
    final Customer customer = dnfh.getCustomer();
    FiscalPacket response;
    // Se valida la nota de crédito.
    dnfh.validate();
    try {
        setCancelAllowed(false);
        // ////////////////////////////////////////////////////////////
        // Se setean los datos del comprador.
        // Comando: @SetCustomerData
        loadCustomerData(customer);
        // ////////////////////////////////////////////////////////////
        // Se abre un documento no fiscal homologado.
        // Comando: @OpenDNFH
        execute(cmdOpenDNFH(// no tiene letra
        traduceDocumentType(Document.DT_SHIPMENT, dnfh.getLetter()), "x"));
        setLastDocumentNo("");
        setCancelAllowed(true);
        setDocumentOpened(true);
        // ////////////////////////////////////////////////////////////
        // Se cargan los ítems del remito emitido.
        // Comando: @PrintEmbarkItem
        loadDocumentEmbarkLineItems(dnfh);
        // ////////////////////////////////////////////////////////////
        // Se cierra el comprobante no fiscal homologado.
        // Comando: @CloseDNFH
        response = execute(cmdCloseDNFH(dnfh.getNumberOfCopies()));
        setDocumentOpened(false);
        setCancelAllowed(false);
        // Se obtiene el número del remito emitido.
        setLastDocumentNo(response.getString(3));
        dnfh.setDocumentNo(getLastDocumentNo());
        // si tiene que finalizar la impresión o no
        if (dnfh.isPrintEnded())
            firePrintEnded();
    } catch (FiscalPrinterIOException e) {
        // Si ocurrió algún error se intenta cancelar el documento
        // actual y se relanza la excepción.
        cancelCurrentDocument();
        throw e;
    }
}
Also used : Customer(ar.com.ergio.print.fiscal.document.Customer) FiscalPrinterIOException(ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException) FiscalPacket(ar.com.ergio.print.fiscal.FiscalPacket)

Example 4 with Customer

use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.

the class HasarFiscalPrinter method printDocument.

public void printDocument(CreditNote creditNote) throws FiscalPrinterStatusError, FiscalPrinterIOException, DocumentException {
    Customer customer = creditNote.getCustomer();
    FiscalPacket response;
    // Se valida la nota de crédito.
    creditNote.validate();
    try {
        setCancelAllowed(false);
        // ////////////////////////////////////////////////////////////
        // Se setea el número de comprobante original.
        // Comando: @SetEmbarkNumber
        execute(cmdSetEmbarkNumber(1, creditNote.getOriginalDocumentNo()));
        // ////////////////////////////////////////////////////////////
        // Se setean los datos del comprador.
        // Comando: @SetCustomerData
        loadCustomerData(customer);
        // ////////////////////////////////////////////////////////////
        // Se abre un documento no fiscal homologado.
        // Comando: @OpenDNFH
        execute(cmdOpenDNFH(traduceDocumentType(Document.DT_CREDIT_NOTE, creditNote.getLetter()), "x"));
        setLastDocumentNo("");
        setCancelAllowed(true);
        setDocumentOpened(true);
        // Comando: @PrintFiscalText
        for (String observation : creditNote.getObservations()) {
            execute(cmdPrintFiscalText(observation, null));
        }
        // ////////////////////////////////////////////////////////////
        // Se cargan los ítems de la nota de crédito.
        // Comando: @PrintLineItem
        loadDocumentLineItems(creditNote);
        // ////////////////////////////////////////////////////////////
        // Se carga la percepción de la note de crédito
        loadDocumentPerception(creditNote);
        // ////////////////////////////////////////////////////////////
        // Se cierra el comprobante no fiscal homologado.
        // Comando: @CloseDNFH
        response = execute(cmdCloseDNFH(null));
        setDocumentOpened(false);
        setCancelAllowed(false);
        // Se obtiene el número de la nota de crédito emitida.
        setLastDocumentNo(response.getString(3));
        creditNote.setDocumentNo(getLastDocumentNo());
        // Se indica al manejador de eventos que la impresión ha finalizado.
        firePrintEnded();
    } catch (FiscalPrinterIOException e) {
        // Si ocurrió algún error se intenta cancelar el documento
        // actual y se relanza la excepción.
        cancelCurrentDocument();
        throw e;
    }
}
Also used : Customer(ar.com.ergio.print.fiscal.document.Customer) FiscalPrinterIOException(ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException) FiscalPacket(ar.com.ergio.print.fiscal.FiscalPacket)

Example 5 with Customer

use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.

the class HasarFiscalPrinter method printDocument.

public void printDocument(DebitNote debitNote) throws FiscalPrinterStatusError, FiscalPrinterIOException, DocumentException {
    Customer customer = debitNote.getCustomer();
    FiscalPacket response;
    // Se valida la nota de débito.
    debitNote.validate();
    try {
        setCancelAllowed(false);
        // ////////////////////////////////////////////////////////////
        // Se setean los datos del comprador.
        // Comando: @SetCustomerData
        loadCustomerData(customer);
        // Comando: @SetEmbarkNumber
        if (debitNote.hasPackingSlipNumber())
            execute(cmdSetEmbarkNumber(1, debitNote.getPackingSlipNumber()));
        // ////////////////////////////////////////////////////////////
        // Se abre el documento fiscal.
        // Comando: @OpenFiscalReceipt
        response = execute(cmdOpenFiscalReceipt(traduceDocumentType(Document.DT_DEBIT_NOTE, debitNote.getLetter())));
        setLastDocumentNo("");
        setCancelAllowed(true);
        setDocumentOpened(true);
        // Comando: @PrintFiscalText
        for (String observation : debitNote.getObservations()) {
            execute(cmdPrintFiscalText(observation, null));
        }
        // ////////////////////////////////////////////////////////////
        // Se cargan los ítems de la nota de débito.
        // Comando: @PrintLineItem
        loadDocumentLineItems(debitNote);
        // ////////////////////////////////////////////////////////////
        // Se carga la percepción de la note de crédito
        loadDocumentPerception(debitNote);
        // ////////////////////////////////////////////////////////////
        // Se cierra el comprobante fiscal.
        // Comando: @CloseFiscalReceipt
        response = execute(cmdCloseFiscalReceipt(null));
        setDocumentOpened(false);
        // Se obtiene el número de comprobante emitido.
        setLastDocumentNo(response.getString(3));
        debitNote.setDocumentNo(getLastDocumentNo());
        // Se obtiene el número del CAI.
        if (debitNote.getLetter().equals(Document.DOC_LETTER_A))
            ;
        debitNote.setCAINumber(getCAINumber(response));
        // Se indica al manejador de eventos que la impresión ha finalizado.
        firePrintEnded();
    } catch (FiscalPrinterIOException e) {
        // Si ocurrió algún error se intenta cancelar el documento
        // actual y se relanza la excepción.
        cancelCurrentDocument();
        throw e;
    }
}
Also used : Customer(ar.com.ergio.print.fiscal.document.Customer) FiscalPrinterIOException(ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException) FiscalPacket(ar.com.ergio.print.fiscal.FiscalPacket)

Aggregations

Customer (ar.com.ergio.print.fiscal.document.Customer)6 FiscalPacket (ar.com.ergio.print.fiscal.FiscalPacket)4 FiscalPrinterIOException (ar.com.ergio.print.fiscal.exception.FiscalPrinterIOException)4 LAR_TaxPayerType (ar.com.ergio.model.LAR_TaxPayerType)2 MBPartner (org.compiere.model.MBPartner)2 MLocation (org.compiere.model.MLocation)2 DNFH (ar.com.ergio.print.fiscal.document.DNFH)1 Payment (ar.com.ergio.print.fiscal.document.Payment)1 MInvoice (org.compiere.model.MInvoice)1