diff --git a/.gitignore b/.gitignore
index b2c03ce..606ab3b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,7 @@
out
lib
.idea
-dist/local-release/data
-dist/local-release/logs
-dist/local-release/informes
-dist/mackena-release
-dist/rodriguez-release
+dist/data
+dist/logs
+dist/informes
diff --git a/database/sqlite.sql b/database/sqlite.sql
index 50f6ec1..0fcb69e 100644
--- a/database/sqlite.sql
+++ b/database/sqlite.sql
@@ -167,3 +167,7 @@ create table estado_resultado
ppm real null,
ivaFavor int null
);
+
+-- Sexta migracion, se necesita guardar el fondo diario de una caja asi que se le agrega a la tabla de caja
+alter table caja
+add column fondo integer default 0;
diff --git a/dist/local-release/Programa Caja.jar b/dist/Programa Caja.jar
similarity index 97%
rename from dist/local-release/Programa Caja.jar
rename to dist/Programa Caja.jar
index 0e13b86..fa7a5e0 100644
Binary files a/dist/local-release/Programa Caja.jar and b/dist/Programa Caja.jar differ
diff --git a/dist/local-release/config/app.properties b/dist/config/app.properties
similarity index 100%
rename from dist/local-release/config/app.properties
rename to dist/config/app.properties
diff --git a/dist/local-release/config/logging.properties b/dist/config/logging.properties
similarity index 100%
rename from dist/local-release/config/logging.properties
rename to dist/config/logging.properties
diff --git a/src/danielcortes/xyz/controllers/ArqueoController.java b/src/danielcortes/xyz/controllers/ArqueoController.java
index a28a1f9..6f2b932 100644
--- a/src/danielcortes/xyz/controllers/ArqueoController.java
+++ b/src/danielcortes/xyz/controllers/ArqueoController.java
@@ -34,7 +34,6 @@ import danielcortes.xyz.views.components.NumberFormatedTextField;
import javax.swing.*;
import java.awt.*;
-import java.awt.event.ActionEvent;
/**
* Controlador destinado a la vista ArqueoView
@@ -203,7 +202,9 @@ public class ArqueoController extends BaseController{
* Lanza la ventana en la que se puede calcular el fondo de la caja.
*/
private void calcularFondoActionListener() {
- new CalcularFondoController(this.view.getContentPanel(), new CalcularFondoView(), this.caja);
+ CalcularFondoView view = new CalcularFondoView();
+ CalcularFondoController controller = new CalcularFondoController(view, this.caja);
+ launchFrame(view.getContentPanel(), "Calcular Fondo");
}
/**
@@ -254,18 +255,4 @@ public class ArqueoController extends BaseController{
this.updateResumenArqueo();
}
- private class GuardarEfectivoAction extends AbstractAction {
- @Override
- public void actionPerformed(ActionEvent e) {
- ArqueoController.this.guardarEfectivoActionListener();
- }
- }
-
- private class GuardarDocumentosAction extends AbstractAction {
- @Override
- public void actionPerformed(ActionEvent e) {
- ArqueoController.this.guardarDocumentosActionListener();
- }
- }
-
}
diff --git a/src/danielcortes/xyz/controllers/BaseController.java b/src/danielcortes/xyz/controllers/BaseController.java
index 64a4ca2..6fb587a 100644
--- a/src/danielcortes/xyz/controllers/BaseController.java
+++ b/src/danielcortes/xyz/controllers/BaseController.java
@@ -20,7 +20,17 @@ class BaseController {
target.getActionMap().put(name, action);
}
- private void launchFrame(JComponent view, String title, Dimension d){
+ static void launchFrame(JComponent view, String title) {
+ JFrame frame = new JFrame(title + ": " + Configuration.get("nombre_caja"));
+ frame.setContentPane(view);
+ frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+
+ frame.pack();
+ frame.setLocationRelativeTo(null);
+ frame.setVisible(true);
+ }
+
+ static void launchFrame(JComponent view, String title, Dimension d){
JFrame frame = new JFrame(title + ": " + Configuration.get("nombre_caja"));
frame.setContentPane(view);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
diff --git a/src/danielcortes/xyz/controllers/CalcularFondoController.java b/src/danielcortes/xyz/controllers/CalcularFondoController.java
index 36e2e35..e0ef822 100644
--- a/src/danielcortes/xyz/controllers/CalcularFondoController.java
+++ b/src/danielcortes/xyz/controllers/CalcularFondoController.java
@@ -1,6 +1,5 @@
package danielcortes.xyz.controllers;
-import danielcortes.xyz.data.Configuration;
import danielcortes.xyz.data.DAOManager;
import danielcortes.xyz.models.caja.Caja;
import danielcortes.xyz.models.calculo_fondo.CalculoFondo;
@@ -8,12 +7,10 @@ import danielcortes.xyz.views.CalcularFondoView;
import danielcortes.xyz.views.components.table_model.FondoTableModel;
import javax.swing.*;
-import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class CalcularFondoController extends BaseController{
- private JComponent parent;
private CalcularFondoView view;
private Caja caja;
@@ -21,25 +18,15 @@ public class CalcularFondoController extends BaseController{
private boolean editing;
private CalculoFondo editingCalculoFondo;
- public CalcularFondoController(JComponent parent, CalcularFondoView view, Caja caja) {
+ public CalcularFondoController(CalcularFondoView view, Caja caja) {
this.view = view;
- this.parent = parent;
this.caja = caja;
this.fillTable();
+ this.fillResumen();
this.updateResumen();
this.setupViewEvents();
this.updateButtonsEnabled();
- this.showView();
- }
-
- private void showView() {
- JFrame frame = new JFrame("Calculo de Fondo: " + Configuration.get("nombre_caja"));
- frame.setContentPane(view.getContentPanel());
- frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- frame.pack();
- frame.setLocationRelativeTo(this.parent);
- frame.setVisible(true);
}
private void fillTable() {
@@ -50,6 +37,20 @@ public class CalcularFondoController extends BaseController{
}
}
+ private void fillResumen() {
+ this.view.getFondoField().setValue(this.caja.getFondo());
+ }
+
+ private void updateResumen() {
+ this.caja.setFondo(this.view.getFondoField().getValue());
+ int suma = DAOManager.getCalculoFondoDAO().getTotalCalculoFondo(this.caja);
+
+ this.view.getSumaField().setValue(suma);
+ this.view.getDepositoField().setValue(suma - this.caja.getFondo());
+
+ DAOManager.getCajaDAO().updateCaja(this.caja);
+ }
+
private void setupViewEvents() {
moveTo(this.view.getValorField(), this.view.getDescripcionField());
doAction(this.view.getDescripcionField(), "save", KeyStroke.getKeyStroke("ENTER"), e -> this.guardarActionListener());
@@ -142,12 +143,6 @@ public class CalcularFondoController extends BaseController{
}
}
- private void updateResumen() {
- int fondo = this.view.getFondoField().getValue();
- int suma = DAOManager.getCalculoFondoDAO().getTotalCalculoFondo(this.caja);
- this.view.getSumaField().setValue(suma);
- this.view.getDepositoField().setValue(suma - fondo);
- }
private void cleanInput() {
this.view.getValorField().setValue(0);
@@ -166,11 +161,4 @@ public class CalcularFondoController extends BaseController{
private void resetFocus() {
this.view.getValorField().requestFocus();
}
-
- private class UpdateResumenAction extends AbstractAction {
- @Override
- public void actionPerformed(ActionEvent e) {
- CalcularFondoController.this.updateResumen();
- }
- }
}
diff --git a/src/danielcortes/xyz/controllers/EstadoResultadoController.java b/src/danielcortes/xyz/controllers/EstadoResultadoController.java
index 239006f..4414e01 100644
--- a/src/danielcortes/xyz/controllers/EstadoResultadoController.java
+++ b/src/danielcortes/xyz/controllers/EstadoResultadoController.java
@@ -148,7 +148,7 @@ public class EstadoResultadoController extends BaseController{
private void fillGastosOperacionales() {
TipoEgreso tipoPagoPartime = DAOManager.getTipoEgresoDAO().findByNombre("Pago Partime").get(0);
- int costosVenta = this.estadoResultado.getCostoVenta();
+ int costoVenta = this.estadoResultado.getCostoVenta();
int remuneraciones = this.estadoResultado.getRemuneraciones();
int finiquitos = this.estadoResultado.getFiniquitos();
int aguinaldo = this.estadoResultado.getAguinaldo();
@@ -156,11 +156,14 @@ public class EstadoResultadoController extends BaseController{
int honorariosContador = this.estadoResultado.getHonorariosContador();
int arriendo = this.estadoResultado.getArriendo();
int partime = DAOManager.getEgresoDAO().getTotalEgresoMesPorTipo(this.mes, tipoPagoPartime);
+ int ventaBruta = DAOManager.getIngresoDAO().getTotalIngresoMes(this.mes);
- int total = costosVenta + remuneraciones + finiquitos + aguinaldo + bonosPersonal
+ int total = costoVenta + remuneraciones + finiquitos + aguinaldo + bonosPersonal
+ honorariosContador + arriendo + partime;
+ double porcentajeCostoVenta = (double) costoVenta / (double)ventaBruta * 100d;
- this.view.getGastosOperacionalesCostoVenta().setValue(costosVenta);
+ this.view.getGastosOperacionalesCostoVenta().setValue(costoVenta);
+ this.view.getGastosOperacionesPorcentajeCostoVenta().setValue(porcentajeCostoVenta);
this.view.getGastosOperacionalesRemuneraciones().setValue(remuneraciones);
this.view.getGastosOperacionalesFiniquitos().setValue(finiquitos);
this.view.getGastosOperacionalesAguinaldo().setValue(aguinaldo);
@@ -269,6 +272,8 @@ public class EstadoResultadoController extends BaseController{
int honorarios = this.view.getGastosOperacionalesHonorariosContador().getValue();
int arriendo = this.view.getGastosOperacionalesArriendo().getValue();
+ int ventaBruta = DAOManager.getIngresoDAO().getTotalIngresoMes(this.mes);
+
this.estadoResultado.setCostoVenta(costoVenta);
this.estadoResultado.setRemuneraciones(remuneraciones);
this.estadoResultado.setFiniquitos(finiquitos);
@@ -280,8 +285,10 @@ public class EstadoResultadoController extends BaseController{
int total = oldTotal
- (oldCostoVenta + oldRemuneraciones + oldFiniquitos + oldAguinaldo + oldBonos + oldHonorarios + oldArriendo)
+ (costoVenta + remuneraciones + finiquitos + aguinaldo + bonos + honorarios + arriendo);
+ double porcentajeCostoVenta = (double) costoVenta / (double)ventaBruta * 100d;
this.view.getGastosOperacionalesTotal().setValue(total);
+ this.view.getGastosOperacionesPorcentajeCostoVenta().setValue(porcentajeCostoVenta);
this.updateResumen();
}
diff --git a/src/danielcortes/xyz/models/caja/Caja.java b/src/danielcortes/xyz/models/caja/Caja.java
index ff519dd..f430862 100644
--- a/src/danielcortes/xyz/models/caja/Caja.java
+++ b/src/danielcortes/xyz/models/caja/Caja.java
@@ -29,6 +29,7 @@ import java.time.LocalDate;
public class Caja {
private int id;
private LocalDate fecha;
+ private int fondo;
public int getId() {
return id;
@@ -46,6 +47,14 @@ public class Caja {
this.fecha = fecha;
}
+ public int getFondo() {
+ return fondo;
+ }
+
+ public void setFondo(int fondo) {
+ this.fondo = fondo;
+ }
+
@Override
public String toString() {
return "Caja{" +
diff --git a/src/danielcortes/xyz/models/caja/CajaDAO.java b/src/danielcortes/xyz/models/caja/CajaDAO.java
index ddc519b..bf2ff99 100644
--- a/src/danielcortes/xyz/models/caja/CajaDAO.java
+++ b/src/danielcortes/xyz/models/caja/CajaDAO.java
@@ -57,6 +57,7 @@ public abstract class CajaDAO {
Caja caja = new Caja();
caja.setId(rs.getInt("id"));
caja.setFecha(LocalDate.parse(rs.getString("fecha")));
+ caja.setFondo(rs.getInt("fondo"));
cajaList.add(caja);
LOGGER.log(Level.FINER, "Se a creo: {0}", caja);
diff --git a/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java b/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java
index 571eeaa..b5e20bd 100644
--- a/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java
+++ b/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java
@@ -121,16 +121,16 @@ public class SQLiteCajaDAO extends CajaDAO {
public boolean insertCaja(Caja caja) {
int updates;
try (Connection conn = connectionHolder.getConnection()) {
- String query = "insert into caja (fecha) values (?)";
+ String query = "insert into caja (fecha, fondo) values (?, ?)";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, caja.getFecha().toString());
+ ps.setInt(2, caja.getFondo());
updates = ps.executeUpdate();
- LOGGER.log(Level.FINE, "QUERY: {0} | values: {1} | updates: {2}", new Object[]{query, caja.getFecha(), updates});
+ LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}, {2} | updates: {3}", new Object[]{query, caja.getFecha(), caja.getFondo(), updates});
ps.close();
-
query = "select last_insert_rowid()";
ps = conn.prepareStatement("select last_insert_rowid()");
ResultSet rs = ps.executeQuery();
@@ -153,13 +153,14 @@ public class SQLiteCajaDAO extends CajaDAO {
public boolean updateCaja(Caja caja) {
int updates;
try (Connection conn = connectionHolder.getConnection()) {
- String query = "update caja set fecha = ? where id = ?";
+ String query = "update caja set fecha = ?, fondo = ? where id = ?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, caja.getFecha().toString());
- ps.setInt(2, caja.getId());
+ ps.setInt(2, caja.getFondo());
+ ps.setInt(3, caja.getId());
updates = ps.executeUpdate();
- LOGGER.log(Level.FINE, "QUERY: {0} | values: [{1},{2} | updates: {3}]", new Object[]{query, caja.getFecha(), caja.getId(), updates});
+ LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}, {2}, {3} | updates: {4}", new Object[]{query, caja.getFecha(), caja.getFondo(), caja.getId(), updates});
ps.close();
diff --git a/src/danielcortes/xyz/views/EstadoResultadoView.form b/src/danielcortes/xyz/views/EstadoResultadoView.form
index fc26c02..4d46a6f 100644
--- a/src/danielcortes/xyz/views/EstadoResultadoView.form
+++ b/src/danielcortes/xyz/views/EstadoResultadoView.form
@@ -3,7 +3,7 @@
-
+
@@ -329,7 +329,7 @@
-
+
@@ -411,7 +411,7 @@
-
+
@@ -419,7 +419,7 @@
-
+
@@ -427,7 +427,7 @@
-
+
@@ -435,7 +435,7 @@
-
+
@@ -445,7 +445,7 @@
-
+
@@ -453,7 +453,7 @@
-
+
@@ -461,7 +461,7 @@
-
+
@@ -477,7 +477,7 @@
-
+
@@ -490,6 +490,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/danielcortes/xyz/views/EstadoResultadoView.java b/src/danielcortes/xyz/views/EstadoResultadoView.java
index edb2ea4..ba9472a 100644
--- a/src/danielcortes/xyz/views/EstadoResultadoView.java
+++ b/src/danielcortes/xyz/views/EstadoResultadoView.java
@@ -54,6 +54,7 @@ public class EstadoResultadoView {
private DoubleFormatedTextField resumenPPM;
private JButton guardarButton;
private JButton exportarButton;
+ private DoubleFormatedTextField gastosOperacionesPorcentajeCostoVenta;
private ArrayList months;
@@ -137,6 +138,10 @@ public class EstadoResultadoView {
return gastosOperacionalesTotal;
}
+ public DoubleFormatedTextField getGastosOperacionesPorcentajeCostoVenta() {
+ return gastosOperacionesPorcentajeCostoVenta;
+ }
+
public NumberFormatedTextField getServiciosAgua() {
return serviciosAgua;
}
@@ -346,7 +351,7 @@ public class EstadoResultadoView {
exportarButton.setText("Exportar");
panel3.add(exportarButton, new GridConstraints(0, 5, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JPanel panel4 = new JPanel();
- panel4.setLayout(new GridLayoutManager(10, 2, new Insets(10, 10, 10, 10), -1, -1));
+ panel4.setLayout(new GridLayoutManager(10, 3, new Insets(10, 10, 10, 10), -1, -1));
contentPanel.add(panel4, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel4.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Gastos Operacionales"));
final JLabel label15 = new JLabel();
@@ -376,28 +381,32 @@ public class EstadoResultadoView {
gastosOperacionalesCostoVenta = new NumberFormatedTextField();
panel4.add(gastosOperacionalesCostoVenta, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesRemuneraciones = new NumberFormatedTextField();
- panel4.add(gastosOperacionalesRemuneraciones, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesRemuneraciones, new GridConstraints(1, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesFiniquitos = new NumberFormatedTextField();
- panel4.add(gastosOperacionalesFiniquitos, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesFiniquitos, new GridConstraints(2, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesAguinaldo = new NumberFormatedTextField();
- panel4.add(gastosOperacionalesAguinaldo, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesAguinaldo, new GridConstraints(3, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesPartime = new NumberFormatedTextField();
gastosOperacionalesPartime.setEditable(false);
- panel4.add(gastosOperacionalesPartime, new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesPartime, new GridConstraints(4, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesBonos = new NumberFormatedTextField();
- panel4.add(gastosOperacionalesBonos, new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesBonos, new GridConstraints(5, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesHonorariosContador = new NumberFormatedTextField();
- panel4.add(gastosOperacionalesHonorariosContador, new GridConstraints(6, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesHonorariosContador, new GridConstraints(6, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
gastosOperacionalesArriendo = new NumberFormatedTextField();
- panel4.add(gastosOperacionalesArriendo, new GridConstraints(7, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesArriendo, new GridConstraints(7, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JLabel label23 = new JLabel();
label23.setText("Total:");
panel4.add(label23, new GridConstraints(9, 0, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
gastosOperacionalesTotal = new NumberFormatedTextField();
gastosOperacionalesTotal.setEditable(false);
- panel4.add(gastosOperacionalesTotal, new GridConstraints(9, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
+ panel4.add(gastosOperacionalesTotal, new GridConstraints(9, 1, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final Spacer spacer4 = new Spacer();
panel4.add(spacer4, new GridConstraints(8, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+ gastosOperacionesPorcentajeCostoVenta = new DoubleFormatedTextField();
+ gastosOperacionesPorcentajeCostoVenta.setColumns(6);
+ gastosOperacionesPorcentajeCostoVenta.setEditable(false);
+ panel4.add(gastosOperacionesPorcentajeCostoVenta, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel5 = new JPanel();
panel5.setLayout(new GridLayoutManager(7, 2, new Insets(10, 10, 10, 10), -1, -1));
contentPanel.add(panel5, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));