private void obtenerValoresDescuentoPorcentaje(java.math.BigDecimal valorPorcentaje) {

    java.math.BigDecimal porcentaje =
        new java.math.BigDecimal(
            valorPorcentaje == null ? "0.00" : valorPorcentaje.toString().trim());
    boolean obtenerBoleanoDeTabla = false;

    java.math.BigDecimal subTotalBaseImponibleInicial = new java.math.BigDecimal("0.00");
    java.math.BigDecimal descuentoBaseImponible = new java.math.BigDecimal("0.00");
    java.math.BigDecimal subTotalBaseCeroInicial = new java.math.BigDecimal("0.00");
    java.math.BigDecimal descuentoBaseCero = new java.math.BigDecimal("0.00");
    for (int j = 0; j < tabla.getRowCount(); j++) {
      obtenerBoleanoDeTabla =
          Boolean.valueOf(tabla.getValueAt(j, buscarColumna("IVA?", tabla)).toString());
      //                if (obtenerBoleanoDeTabla)
      //                    iva12 = iva12.add(new java.math.BigDecimal(table.getValueAt(i,
      // buscarColumna("Subtotal"))==null || table.getValueAt(i,
      // buscarColumna("Subtotal")).toString().trim().isEmpty() ? "0.00" : table.getValueAt(i,
      // buscarColumna("Subtotal")).toString().trim()));
      //                else
      //                    iva0 = iva0.add(new java.math.BigDecimal(table.getValueAt(i,
      // buscarColumna("Subtotal"))==null || table.getValueAt(i,
      // buscarColumna("Subtotal")).toString().trim().isEmpty() ? "0.00" : table.getValueAt(i,
      // buscarColumna("Subtotal")).toString().trim()));
      if (obtenerBoleanoDeTabla) {
        subTotalBaseImponibleInicial =
            subTotalBaseImponibleInicial.add(
                new java.math.BigDecimal(
                    tabla.getValueAt(j, buscarColumna("Parcial", tabla)) == null
                            || tabla
                                .getValueAt(j, buscarColumna("Parcial", tabla))
                                .toString()
                                .trim()
                                .isEmpty()
                        ? "0.00"
                        : tabla.getValueAt(j, buscarColumna("Parcial", tabla)).toString().trim()));

        descuentoBaseImponible =
            descuentoBaseImponible.add(
                new java.math.BigDecimal(
                    tabla.getValueAt(j, buscarColumna("Descuento", tabla)) == null
                            || tabla
                                .getValueAt(j, buscarColumna("Descuento", tabla))
                                .toString()
                                .trim()
                                .isEmpty()
                        ? "0.00"
                        : tabla
                            .getValueAt(j, buscarColumna("Descuento", tabla))
                            .toString()
                            .trim()));
      } else {
        subTotalBaseCeroInicial =
            subTotalBaseCeroInicial.add(
                new java.math.BigDecimal(
                    tabla.getValueAt(j, buscarColumna("Parcial", tabla)) == null
                            || tabla
                                .getValueAt(j, buscarColumna("Parcial", tabla))
                                .toString()
                                .trim()
                                .isEmpty()
                        ? "0.00"
                        : tabla.getValueAt(j, buscarColumna("Parcial", tabla)).toString().trim()));
        descuentoBaseCero =
            descuentoBaseCero.add(
                new java.math.BigDecimal(
                    tabla.getValueAt(j, buscarColumna("Descuento", tabla)) == null
                            || tabla
                                .getValueAt(j, buscarColumna("Descuento", tabla))
                                .toString()
                                .trim()
                                .isEmpty()
                        ? "0.00"
                        : tabla
                            .getValueAt(j, buscarColumna("Descuento", tabla))
                            .toString()
                            .trim()));
      }
    }
    totalDescuento = descuentoBaseCero.add(descuentoBaseImponible);

    java.math.BigDecimal ivaVigente =
        jIFProformas != null
            ? new java.math.BigDecimal(jIFProformas.ivaVigente.toString())
            : new java.math.BigDecimal(jIFProformasModificar.ivaVigente.toString());

    try {
      if (jIFProformas != null) {
        //// PARA CALCULAR LOS TOTALES
        /** ************************************************************************* */
        jIFProformas.descuentoBaseCero = descuentoBaseCero;
        jIFProformas.descuentoBaseImponible = descuentoBaseImponible;
        //
        //
        // if(subTotalBaseCeroInicial.subtract(descuentoBaseCero).add(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible)).compareTo(jIFProformas.mDIShrimp.getCero()) != 0){
        //                    jIFProformas.descuentoGeneralCero =
        // jIFProformas.descuentoGeneral.divide(subTotalBaseCeroInicial.subtract(descuentoBaseCero).
        //
        // add(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible)), 17,
        // java.math.RoundingMode.HALF_EVEN).multiply(subTotalBaseCeroInicial.subtract(descuentoBaseCero), new java.math.MathContext(17, java.math.RoundingMode.HALF_EVEN));
        //
        //                    jIFProformas.descuentoGeneralImponible =
        // jIFProformas.descuentoGeneral.divide(subTotalBaseCeroInicial.subtract(descuentoBaseCero).
        //
        // add(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible)), 17,
        // java.math.RoundingMode.HALF_EVEN).multiply(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible), new java.math.MathContext(17, java.math.RoundingMode.HALF_EVEN));
        //                } else {
        //                    jIFProformas.descuentoGeneralCero = jIFProformas.mDIShrimp.getCero();
        //                    jIFProformas.descuentoGeneralImponible =
        // jIFProformas.mDIShrimp.getCero();
        //                }

        jIFProformas.subtotalBaseCero =
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseCeroInicial.subtract(jIFProformas.descuentoBaseCero),
                    2,
                    java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero());

        jIFProformas.subtotalBaseImponible =
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseImponibleInicial.subtract(jIFProformas.descuentoBaseImponible),
                    2,
                    java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero());

        /** ************************************************************************* */

        /** ************************************************************************* */
        //// PARA PONER LOS TOTALES EN EL FORMULARIO

        java.math.BigDecimal iva =
            jIFProformas
                .subtotalBaseImponible
                .multiply(ivaVigente)
                .divide(new java.math.BigDecimal("100.00"), java.math.RoundingMode.HALF_EVEN);
        java.math.BigDecimal totalFinal =
            jIFProformas.subtotalBaseCero.add(jIFProformas.subtotalBaseImponible).add(iva);

        jIFProformas.jtfParcialCero.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseCeroInicial, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfParcialImponible.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseImponibleInicial, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfDescuentoCero.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformas.descuentoBaseCero, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfDescuentoImponible.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformas.descuentoBaseImponible, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfSubtotalCero.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformas.subtotalBaseCero, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfSubtotalImponible.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformas.subtotalBaseImponible, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfIva.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(iva, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

        jIFProformas.jtfTotal.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    totalFinal, 2, java.math.RoundingMode.UP)
                .add(jIFProformas.mDIShrimp.getCero())
                .toString());

      } else {
        //// PARA CALCULAR LOS TOTALES
        /** ************************************************************************* */
        jIFProformasModificar.descuentoBaseCero = descuentoBaseCero;
        jIFProformasModificar.descuentoBaseImponible = descuentoBaseImponible;
        //
        //
        // if(subTotalBaseCeroInicial.subtract(descuentoBaseCero).add(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible)).compareTo(jIFProformasModificar.mDIShrimp.getCero()) != 0){
        //                    jIFProformasModificar.descuentoGeneralCero =
        // jIFProformasModificar.descuentoGeneral.divide(subTotalBaseCeroInicial.subtract(descuentoBaseCero).
        //
        // add(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible)), 17,
        // java.math.RoundingMode.HALF_EVEN).multiply(subTotalBaseCeroInicial.subtract(descuentoBaseCero), new java.math.MathContext(17, java.math.RoundingMode.HALF_EVEN));
        //
        //                    jIFProformasModificar.descuentoGeneralImponible =
        // jIFProformasModificar.descuentoGeneral.divide(subTotalBaseCeroInicial.subtract(descuentoBaseCero).
        //
        // add(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible)), 17,
        // java.math.RoundingMode.HALF_EVEN).multiply(subTotalBaseImponibleInicial.subtract(descuentoBaseImponible), new java.math.MathContext(17, java.math.RoundingMode.HALF_EVEN));
        //                } else {
        //                    jIFProformasModificar.descuentoGeneralCero =
        // jIFProformasModificar.mDIShrimp.getCero();
        //                    jIFProformasModificar.descuentoGeneralImponible =
        // jIFProformasModificar.mDIShrimp.getCero();
        //                }

        jIFProformasModificar.subtotalBaseCero =
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseCeroInicial.subtract(jIFProformasModificar.descuentoBaseCero),
                    2,
                    java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero());

        jIFProformasModificar.subtotalBaseImponible =
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseImponibleInicial.subtract(
                        jIFProformasModificar.descuentoBaseImponible),
                    2,
                    java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero());

        /** ************************************************************************* */

        /** ************************************************************************* */
        //// PARA PONER LOS TOTALES EN EL FORMULARIO

        java.math.BigDecimal iva =
            jIFProformasModificar
                .subtotalBaseImponible
                .multiply(ivaVigente)
                .divide(new java.math.BigDecimal("100.00"), java.math.RoundingMode.HALF_EVEN);
        java.math.BigDecimal totalFinal =
            jIFProformasModificar
                .subtotalBaseCero
                .add(jIFProformasModificar.subtotalBaseImponible)
                .add(iva);

        jIFProformasModificar.jtfParcialCero.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseCeroInicial, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfParcialImponible.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    subTotalBaseImponibleInicial, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfDescuentoCero.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformasModificar.descuentoBaseCero, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfDescuentoImponible.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformasModificar.descuentoBaseImponible, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfSubtotalCero.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformasModificar.subtotalBaseCero, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfSubtotalImponible.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    jIFProformasModificar.subtotalBaseImponible, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfIva.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(iva, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());

        jIFProformasModificar.jtfTotal.setText(
            validaciones.Validacion.redondeoDecimalBigDecimal(
                    totalFinal, 2, java.math.RoundingMode.UP)
                .add(jIFProformasModificar.mDIShrimp.getCero())
                .toString());
      }
    } catch (Exception e) {
      shrimp.helper.JDVentanaMensajes.showMessageDialog(
          new javax.swing.JFrame(),
          "Ha ocurrido un error inesperado en el formulario",
          javax.swing.JOptionPane.ERROR_MESSAGE,
          javax.swing.JOptionPane.DEFAULT_OPTION,
          e,
          null);
      e.printStackTrace();
    }
  }
Пример #2
0
  private void guardarExcel() throws Exception {
    java.util.List<String> listaCabecera = new java.util.ArrayList();
    java.util.List<String> listaCuerpo = new java.util.ArrayList();

    java.math.BigDecimal cero = new java.math.BigDecimal("0.00");
    desde = jftfDesde.getValue() == null ? "" : jftfDesde.getText();
    hasta = jftfHasta.getValue() == null ? "" : jftfHasta.getText();

    listaCabecera.add("S" + sisUsuarioEmpresaTO.getEmpRazonSocial());
    listaCabecera.add("SReporte de Pesca");
    listaCabecera.add("SDesde: " + desde + " Hasta: " + hasta);
    listaCabecera.add("S");

    listaCuerpo.add(
        "SSect."
            + "¬"
            + "SPisc."
            + "¬"
            + "SHas."
            + "¬"
            + "SCor."
            + "¬"
            + "SSiembra"
            + "¬"
            + "SPesca"
            + "¬"
            + "SDías"
            + "¬"
            + "SN.Larvas"
            + "¬"
            + "SDensidad."
            + "¬"
            + "SLab."
            + "¬"
            + "SNauplio."
            + "¬"
            + "SBalanceado"
            + "¬"
            + "SBiomasa Proy."
            + "¬"
            + "SBiomasa Real"
            + "¬"
            + "SLibrasxHas."
            + "¬"
            + "SConv. Al."
            + "¬"
            + "SGra. Prom."
            + "¬"
            + "SGra. Ideal"
            + "¬"
            + "SSobrev."
            + "¬"
            + "SCosto"
            + "¬"
            + "SVenta"
            + "¬"
            + "SResul."
            + "¬"
            + "SCostoxHas."
            + "¬"
            + "SVentaxHas."
            + "¬"
            + "SResultxHas."
            + "¬"
            + "SCostoxLb."
            + "¬"
            + "SVentaxLb."
            + "¬"
            + "SResultxLb."
            + "¬"
            + "SResultDia");
    for (produccion.TO.PrdResumenCorridaTO prdResumenCorridaTO :
        bbResumenCorrida1.getListaPrdListaResumenCorridaTO()) {

      listaCuerpo.add(
          (prdResumenCorridaTO.getSecCodigo() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getSecCodigo())
              + "¬"
              + (prdResumenCorridaTO.getPisNumero() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getPisNumero())
              + "¬"
              + (prdResumenCorridaTO.getRcHectareaje() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcHectareaje().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcCorridaNumero() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getRcCorridaNumero().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcFechaSiembra() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getRcFechaSiembra().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcFechaPesca() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getRcFechaPesca().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcEdad() == null
                  ? "C"
                  : "C" + prdResumenCorridaTO.getRcEdad().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcNumeroLarvas() == null
                  ? "C"
                  : "C" + prdResumenCorridaTO.getRcNumeroLarvas().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcDensidad() == null
                  ? "C"
                  : "C" + prdResumenCorridaTO.getRcDensidad().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcLaboratorio() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getRcLaboratorio().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcNauplio() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getRcNauplio().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcLibrasBalanceados() == null
                  ? "C"
                  : "C" + prdResumenCorridaTO.getRcLibrasBalanceados().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcBiomasa() == null
                  ? "C"
                  : "C" + prdResumenCorridaTO.getRcBiomasa().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcBiomasaReal() == null
                  ? "C"
                  : "C" + prdResumenCorridaTO.getRcBiomasaReal().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcBiomasaReal() == null
                      || prdResumenCorridaTO.getRcHectareaje() == null
                      || prdResumenCorridaTO.getRcHectareaje().compareTo(cero) == 0
                  ? "C"
                  : "C"
                      + String.valueOf(
                          prdResumenCorridaTO
                              .getRcBiomasaReal()
                              .divide(
                                  prdResumenCorridaTO.getRcHectareaje(),
                                  2,
                                  java.math.RoundingMode.HALF_UP)
                              .intValue()))
              + "¬"
              + (prdResumenCorridaTO.getRcConversion() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcConversion().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcTPromedio() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcTPromedio().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcPesoIdeal() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcPesoIdeal().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcSobrevivencia() == null
                  ? "S"
                  : "S" + prdResumenCorridaTO.getRcSobrevivencia().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcCosto() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcCosto().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcValorVenta() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcValorVenta().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcResultado() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcResultado().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcCostoHectarea() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcCostoHectarea().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcVentaHectarea() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcVentaHectarea().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcResultadoHectarea() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcResultadoHectarea().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcCostoLibra() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcCostoLibra().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcVentaLibra() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcVentaLibra().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcResultadoLibra() == null
                  ? "D"
                  : "D" + prdResumenCorridaTO.getRcResultadoLibra().toString())
              + "¬"
              + (prdResumenCorridaTO.getRcResultadoLibra() == null
                      || prdResumenCorridaTO.getRcEdad() == null
                      || prdResumenCorridaTO.getRcEdad().compareTo(cero) == 0
                  ? "D"
                  : "D"
                      + validaciones.Validacion.redondeoDecimalBigDecimal(
                              prdResumenCorridaTO
                                  .getRcResultadoHectarea()
                                  .divide(
                                      prdResumenCorridaTO.getRcEdad(),
                                      2,
                                      java.math.RoundingMode.HALF_UP))
                          .toString())
              + "¬");
    }
    long nombreFichero =
        java.util.Calendar.getInstance(java.util.TimeZone.getTimeZone("America/Guayaquil"))
            .getTime()
            .getTime();
    shrimp.validaciones.GenerarExcel.crearExcel(
        listaCabecera, listaCuerpo, "TODOCOMPU", "tmp/" + nombreFichero + ".xls");
    shrimp.validaciones.Fichero.abrirFichero("tmp/" + nombreFichero + ".xls");
  }