示例#1
0
 public CantidadMonetaria getHaber() {
   CantidadMonetaria haber = CantidadMonetaria.pesos(0);
   for (AsientoDeGasto a : registros) {
     haber = haber.add(a.getHaber());
   }
   return haber;
 }
  /**
   * @param dets
   * @param registros
   */
  public void registrarGasto(
      final List<GCompraDet> dets, final Poliza poliza, final String factura) {
    GCompraDet det = dets.get(0);
    PolizaDet asiento = poliza.agregarPartida();
    asiento.setCuenta(getCuenta("600"));
    asiento.setDescripcion("");

    String pattern = "F-{0} {1}";
    String descripcion2 =
        MessageFormat.format(pattern, det.getFactura(), det.getProducto().getDescripcion());
    descripcion2 = StringUtils.substring(descripcion2, 0, 50);
    asiento.setDescripcion2(descripcion2);

    if ((det.getRubro() != null) || (det.getRubro().getRubroCuentaOrigen() != null)) {
      ConceptoDeGasto concepto = det.getRubro().getRubroCuentaOrigen();
      String cc = concepto != null ? concepto.getDescripcion() : "NA";
      asiento.setDescripcion2(cc);
    }

    CantidadMonetaria debe = CantidadMonetaria.pesos(0);
    for (GCompraDet part : dets) {
      debe = debe.add(part.getImporteMN());
    }

    asiento.setDebe(debe.amount());
    asiento.setReferencia(dets.get(0).getCompra().getProveedor().getNombreRazon());
    asiento.setReferencia2(det.getSucursal().getNombre());
  }
示例#3
0
 public CantidadMonetaria getDebe() {
   CantidadMonetaria debe = CantidadMonetaria.pesos(0);
   for (AsientoDeGasto a : registros) {
     debe = debe.add(a.getDebe());
   }
   return debe;
 }
示例#4
0
 private void cargoAIva(final GCompra compra) {
   CantidadMonetaria importe = CantidadMonetaria.pesos(0);
   for (GCompraDet det : compra.getPartidas()) {
     importe = importe.add(det.getImpuestoMN().abs());
   }
   AsientoDeGasto a1 = new AsientoDeGasto();
   a1.setConcepto("IVA EN GASTOS");
   a1.setCuenta("117-0001-003");
   a1.setDescripcion(StringUtils.substring(getConcepto(), 0, 28));
   a1.setDebe(importe);
   registros.add(a1);
 }
示例#5
0
 public CantidadMonetaria getCuadre() {
   CantidadMonetaria debe = CantidadMonetaria.pesos(0);
   CantidadMonetaria haber = CantidadMonetaria.pesos(0);
   for (AsientoDeGasto a : registros) {
     debe = debe.add(a.getDebe());
     haber = haber.add(a.getHaber());
   }
   return debe.subtract(haber);
 }
示例#6
0
 private void registrarAsientos(final List<GCompraDet> dets) {
   GCompraDet det = dets.get(0);
   AsientoDeGasto asiento = new AsientoDeGasto();
   asiento.registrarCuentaContable(det);
   asiento.registrarDescripcion(det);
   if ((det.getRubro() != null) || (det.getRubro().getRubroCuentaOrigen() != null)) {
     ConceptoDeGasto concepto = det.getRubro().getRubroCuentaOrigen();
     String cc = concepto != null ? concepto.getDescripcion() : "NA";
     // .getDescripcion();
     cc = StringUtils.substring(cc, 0, 28);
     asiento.setConcepto(cc);
   }
   asiento.registrarDescripcion(det);
   asiento.setSucursal(det.getSucursal().getNombre());
   CantidadMonetaria debe = CantidadMonetaria.pesos(0);
   for (GCompraDet part : dets) {
     debe = debe.add(part.getImporteMN().abs());
   }
   asiento.setDebe(debe);
   registros.add(asiento);
 }
  private void registrarIva(Poliza p, List<GFacturaPorCompra> facs) {
    // Impuesto de gastos
    for (GFacturaPorCompra fac : facs) {
      PolizaDet a = p.agregarPartida();
      a.setCuenta(getCuenta("117"));
      a.setDescripcion("Iva x acreditar");
      String pattern = "IVA F:{0} {1}";
      String descripcion2 =
          MessageFormat.format(
              pattern, fac.getDocumento(), fac.getCompra().getProveedor().getNombreRazon());
      a.setDescripcion2(descripcion2);
      CantidadMonetaria impuestoGastos = CantidadMonetaria.pesos(0);
      for (GCompraDet det : fac.getCompra().getPartidas()) {
        if (!det.getProducto().getInversion()) {
          CantidadMonetaria imp = det.getImpuestoMN();
          impuestoGastos = impuestoGastos.add(imp);
        }
      }
      a.setDebe(impuestoGastos.amount());
      if ((fac.getCompra().getRet1MN() != null)
          && (fac.getCompra().getRet1MN().amount().doubleValue() > 0)) {
        a.setDebe(a.getDebe().subtract(fac.getCompra().getRet1MN().amount()));
      }
      a.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
      a.setReferencia2(fac.getCompra().getSucursal().getNombre());
    }
    /** Impuesto de gastos* */
    for (GFacturaPorCompra fac : facs) {
      PolizaDet a = p.agregarPartida();
      a.setCuenta(getCuenta("117"));
      a.setDescripcion("Iva x acreditar");
      String pattern = "IVA F:{0} {1}";
      String descripcion2 =
          MessageFormat.format(
              pattern, fac.getDocumento(), fac.getCompra().getProveedor().getNombreRazon());
      a.setDescripcion2(descripcion2);

      CantidadMonetaria impuestoGastos = CantidadMonetaria.pesos(0);
      for (GCompraDet det : fac.getCompra().getPartidas()) {
        if (det.getProducto().getInversion()) {
          CantidadMonetaria imp = det.getImpuestoMN();
          impuestoGastos = impuestoGastos.add(imp);
        }
      }
      a.setDebe(impuestoGastos.amount());
      a.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
      a.setReferencia2(fac.getCompra().getSucursal().getNombre());
    }
  }
  private void registrarRetenciones(Poliza p, List<GFacturaPorCompra> facs) {

    for (GFacturaPorCompra fac : facs) {

      for (GCompraDet det : fac.getCompra().getPartidas()) {
        if (det.getRetencion1() == RETENCION_HONORARIOS) {
          // honorarios=honorarios.add(det.getRetencion1Imp());
          // honorarios=det.getRetencion1Imp();
          PolizaDet a = p.agregarPartida();
          a.setCuenta(getCuenta("205"));
          a.setDescripcion(PolizaContableManager.IVA_RETENIDO_PENDIENTE);
          String pattern = "F:{0} {1}";
          String descripcion2 =
              MessageFormat.format(
                  pattern,
                  fac.getDocumento(),
                  fac.getCompra().getProveedor().getNombreRazon() + "aqui");
          a.setDescripcion2(descripcion2);

          a.setHaber(CantidadMonetaria.pesos(det.getRetencion2Imp().doubleValue()).amount());
          a.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a.setReferencia2(fac.getCompra().getSucursal().getNombre());

          PolizaDet a2 = p.agregarPartida();
          a2.setCuenta(getCuenta("117"));
          a2.setDescripcion(PolizaContableManager.IVA_POR_ACREDITAR_RETENIDO);
          a2.setDebe(CantidadMonetaria.pesos(det.getRetencion1Imp().doubleValue()).amount());
          a2.setDescripcion2(fac.getCompra().getProveedor().getNombreRazon());
          a2.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a2.setReferencia2(fac.getCompra().getSucursal().getNombre());

          PolizaDet a3 = p.agregarPartida();
          a3.setCuenta(getCuenta("118"));
          a3.setDescripcion("ISR RETENIDO PENDIENTE X PAGAR");
          a3.setHaber(CantidadMonetaria.pesos(det.getRetencion2Imp().doubleValue()).amount());
          a3.setDescripcion2(fac.getCompra().getProveedor().getNombreRazon());
          a3.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a3.setReferencia2(fac.getCompra().getSucursal().getNombre());

          continue;
        } else if (det.getRetencion1() == RETENCION_TRANSPORTE) {
          // Cargo a Iva Acreditable Retenido
          PolizaDet a = p.agregarPartida();
          a.setCuenta(getCuenta("205"));
          a.setDescripcion(PolizaContableManager.IVA_RETENIDO_PENDIENTE);
          String pattern = "F:{0} {1}";
          String descripcion =
              MessageFormat.format(
                  pattern, fac.getDocumento(), fac.getCompra().getProveedor().getNombreRazon());
          a.setDescripcion2(descripcion);
          a.setHaber(CantidadMonetaria.pesos(det.getRetencion1Imp().doubleValue()).amount());
          a.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a.setReferencia2(fac.getCompra().getSucursal().getNombre());

          // Abono a IVA RETENIDO
          PolizaDet a2 = p.agregarPartida();
          a2.setDescripcion(descripcion);
          a2.setCuenta(getCuenta("117"));
          a2.setDescripcion(PolizaContableManager.IVA_POR_ACREDITAR_RETENIDO);
          a2.setDebe(CantidadMonetaria.pesos(det.getRetencion1Imp().doubleValue()).amount());
          a2.setDescripcion2(descripcion);
          a2.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a2.setReferencia2(fac.getCompra().getSucursal().getNombre());
        }
      }
    }
  }
示例#9
0
 public CantidadMonetaria getSaldoMN() {
   return CantidadMonetaria.pesos(getSaldo());
 }