Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
15 kB
6
Indexable
Never
package sistemaCocinas;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.DefaultComboBoxModel;
import javax.swing.SwingConstants;

public class venderBoleta extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JTextField textPrecioVenta;
	private JTextField textCantidad;
	private JComboBox cboModelo;
	private JButton btnVender;
	private JButton btnCerrarVender;
	private JLabel lblVistaDescuento;
	private JTextArea textBoleta;
	
	// Datos mínimos de la primera cocina
	public static String modelo0 = "Mabe EMP6120PG0";
	public static double precio0 = 949.0;
	public static double fondo0 = 58.6;
	public static double ancho0 = 60.0;
	public static double alto0 = 91.0;
	public static int quemadores0 = 4;
		
	// Datos mínimos de la segunda cocina
	public static String modelo1 = "Indurama Parma";
	public static double precio1 = 1089.0;
	public static double ancho1 = 80.0;
	public static double alto1 = 94.0;
	public static double fondo1 = 67.5;
	public static int quemadores1 = 6;
		
	// Datos mínimos de la tercera cocina
	public static String modelo2 = "Sole COSOL027";
	public static double precio2 = 850.0;
	public static double ancho2 = 60.0;
	public static double alto2 = 90.0;
	public static double fondo2 = 50.0;
	public static int quemadores2 = 4;
		
	// Datos mínimos de la cuarta cocina
	public static String modelo3 = "Coldex CX602";
	public static double precio3 = 629.0;
	public static double ancho3 = 61.6;
	public static double alto3 = 95.0;
	public static double fondo3 = 51.5;
	public static int quemadores3 = 5;
		
	// Datos mínimos de la quinta cocina
	public static String modelo4 = "Reco Dakota";
	public static double precio4 = 849.0;
	public static double ancho4 = 75.4;
	public static double alto4 = 94.5;
	public static double fondo4 = 66.0;
	public static int quemadores4 = 5;
	
	// Porcentajes de descuento
	public static double porcentaje1 = 7.5;
	public static double porcentaje2 = 10.0;
	public static double porcentaje3 = 12.5;
	public static double porcentaje4 = 15.0;
	
	// Obsequios
	public static String obsequio1 = "Cafetera";
	public static String obsequio2 = "Licuadora";
	public static String obsequio3 = "Extractor";
	
	//Cuota Diaria
	public static double cuotaDiaria = 75000;
	
	//Contador ventas
	public static int contadorVentas0 = 0;
	public static int contadorVentas1 = 0;
	public static int contadorVentas2 = 0;
	public static int contadorVentas3 = 0;
	public static int contadorVentas4 = 0;
	
	//Acumulador Unidades Vendidas
	public static int cantidadUnidadesVendidas0 = 0;
	public static int cantidadUnidadesVendidas1 = 0;
	public static int cantidadUnidadesVendidas2 = 0;
	public static int cantidadUnidadesVendidas3 = 0;
	public static int cantidadUnidadesVendidas4 = 0;
	
	//Acumulador Total Vendido
	public static double importeTotalVendido0 = 0;
	public static double importeTotalVendido1 = 0;
	public static double importeTotalVendido2 = 0;
	public static double importeTotalVendido3 = 0;
	public static double importeTotalVendido4 = 0;
	
	//Aporte Cuota Diaria
	public static double aporteCuota0;
	public static double aporteCuota1;
	public static double aporteCuota2;
	public static double aporteCuota3;
	public static double aporteCuota4;
	 		
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					venderBoleta frame = new venderBoleta();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public venderBoleta() {
		setTitle("Vender");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 321);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblNewLabel = new JLabel("Modelo");
		lblNewLabel.setBounds(33, 22, 81, 14);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("Precio (S/)");
		lblNewLabel_1.setBounds(33, 47, 81, 14);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblNewLabel_2 = new JLabel("Cantidad");
		lblNewLabel_2.setBounds(33, 72, 81, 14);
		contentPane.add(lblNewLabel_2);
		
		textPrecioVenta = new JTextField();
		textPrecioVenta.setEditable(false);
		textPrecioVenta.setHorizontalAlignment(SwingConstants.RIGHT);
		textPrecioVenta.setBounds(124, 44, 149, 20);		
		contentPane.add(textPrecioVenta);
		textPrecioVenta.setColumns(10);
		
		textCantidad = new JTextField();
		textCantidad.setHorizontalAlignment(SwingConstants.RIGHT);
		textCantidad.setBounds(124, 69, 149, 20);
		contentPane.add(textCantidad);
		textCantidad.setColumns(10);
		
		cboModelo = new JComboBox();
		cboModelo.setModel(new DefaultComboBoxModel(new String[] {"Seleccionar Modelo", "Mabe EMP6120PG0", "Indurama Parma", "Sole COSOL027", "Coldex CX602", "Reco Dakota"}));
		cboModelo.setBounds(124, 14, 149, 22);
		cboModelo.addActionListener(this);
		contentPane.add(cboModelo);
		
		btnVender = new JButton("Vender");
		btnVender.setBounds(321, 14, 89, 23);
		btnVender.addActionListener(this);
		contentPane.add(btnVender);
		
		btnCerrarVender = new JButton("Cerrar");
		btnCerrarVender.setBounds(321, 43, 89, 23);
		btnCerrarVender.addActionListener(this);
		contentPane.add(btnCerrarVender);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(33, 108, 374, 153);
		contentPane.add(scrollPane);
		
		textBoleta = new JTextArea();
		scrollPane.setViewportView(textBoleta);
		
		lblVistaDescuento = new JLabel("");
		lblVistaDescuento.setHorizontalAlignment(SwingConstants.RIGHT);
		lblVistaDescuento.setBounds(297, 72, 113, 24);
		contentPane.add(lblVistaDescuento);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		
		if (e.getSource() == cboModelo) {
			
			//Variables		
			int modelo = 0;

			//Obtener datos
			obtenerPrecio (modelo);
		}
				
		if (e.getSource() == btnVender) {
			
			//Variables
			double precio, descuento, importeCompra, importeDescuento, importePagar = 0;
			int modelo = 0, cantidad = 0, modelos = 0, unidadModel = 0, ventaModel = 0;
			int cocinas = 0, aporte = 0;
			String obsequio, modeloV;
			
			// Ingresar Datos
			precio = obtenerPrecio (modelo);
			cantidad = obtenerCantidad (cantidad);
			descuento = obtenerDescuento (cantidad);
			mostrarDescuento (descuento);
			obsequio = obtenerObsequio (cantidad);
			modeloV = obtenerModelo (cocinas);
			importeCompra = obtenerImporteCompra (precio, cantidad);
			importeDescuento = obtenerImporteDescuento (importeCompra, descuento);
			importePagar = obtenerImportePagar (importeCompra, importeDescuento);
			contadoresVentasModelos(modelos);
			acumuladorCantidadVendida(unidadModel, cantidad);
			acumuladorTotalVendido(ventaModel, importePagar);
			obtenerAporteCuotaDiaria(aporte);
			obtenerMensaje ();
			
			
			

			
									
			//Salida
			NumberFormat formateador = new DecimalFormat("#,###,###.00");
			textBoleta.setText("BOLETA DE VENTA \n");
			textBoleta.append ("\n");
			textBoleta.append ("Modelo		:  " + modeloV + "\n");
			textBoleta.append ("Precio		:  " + "S/ " + formateador.format(precio) + "\n");
			textBoleta.append ("Cantidad		:  " + cantidad + "\n");
			textBoleta.append ("Importe Compra	:  " + "S/ " + formateador.format(importeCompra) + "\n");
			textBoleta.append ("Importe Descuento	:  " + "S/ " + formateador.format(importeDescuento) + "\n");
			textBoleta.append ("Importe Pagar		:  " + "S/ " + formateador.format(importePagar) + "\n");
			textBoleta.append ("Obsequio		:  " + obsequio + "\n");
			textBoleta.append ("Ventas modelo 1 : " + contadorVentas0 + "\n");
			textBoleta.append ("Ventas modelo 2 : " + contadorVentas1 + "\n");
			textBoleta.append ("Ventas modelo 3 : " + contadorVentas2 + "\n");
			textBoleta.append ("Ventas modelo 4 : " + contadorVentas3 + "\n");
			textBoleta.append ("Ventas modelo 5 : " + contadorVentas4 + "\n");
			textBoleta.append ("Acumulado Ventas modelo 1 : " + cantidadUnidadesVendidas0 + "\n");
			textBoleta.append ("Acumulado Ventas modelo 2 : " + cantidadUnidadesVendidas1 + "\n");
			textBoleta.append ("Acumulado Ventas modelo 3 : " + cantidadUnidadesVendidas2 + "\n");
			textBoleta.append ("Acumulado Ventas modelo 4 : " + cantidadUnidadesVendidas3 + "\n");
			textBoleta.append ("Acumulado Ventas modelo 5 : " + cantidadUnidadesVendidas4 + "\n");
			textBoleta.append ("Importe Total Vendido modelo 1 : " + importeTotalVendido0 + "\n");
			textBoleta.append ("Importe Total Vendido modelo 2 : " + importeTotalVendido1 + "\n");
			textBoleta.append ("Importe Total Vendido modelo 3 : " + importeTotalVendido2 + "\n");
			textBoleta.append ("Importe Total Vendido modelo 4 : " + importeTotalVendido3 + "\n");
			textBoleta.append ("Importe Total Vendido modelo 5 : " + importeTotalVendido4 + "\n");
			textBoleta.append ("Aporte Cuota Diaria modelo 1 : " + aporteCuota0 + "\n");
			textBoleta.append ("Aporte Cuota Diaria modelo 2 : " + aporteCuota1 + "\n");
			textBoleta.append ("Aporte Cuota Diaria modelo 3 : " + aporteCuota2 + "\n");
			textBoleta.append ("Aporte Cuota Diaria modelo 4 : " + aporteCuota3 + "\n");
			textBoleta.append ("Aporte Cuota Diaria modelo 5 : " + aporteCuota4 + "\n");
		}
		
		if (e.getSource() == btnCerrarVender) {
			dispose();
		}					
	}
	
	public double obtenerPrecio (int modelo) {
		//Ingresar dato
		modelo = cboModelo.getSelectedIndex();
		
		//Procesar
		//Evalúa Precio
		switch (modelo) {
		case 1:
			textPrecioVenta.setText("" + precio0);
			return precio0;
		case 2:
			textPrecioVenta.setText("" + precio1);
			return precio1;
		case 3:
			textPrecioVenta.setText("" + precio2);
			return precio2;
		case 4:
			textPrecioVenta.setText("" + precio3);
			return precio3;
		default:
			textPrecioVenta.setText("" + precio4);
			return precio4;
		}
	}
	
	public int obtenerCantidad (int cantidad) {	
		return Integer.parseInt(textCantidad.getText());
	}
	
	public double obtenerDescuento (int cantidad) {
		
		//Evalúa Descuento
			switch (cantidad) {
			case 1:
			case 2:
			case 3:
			case 4:
			case 5: return 0.01;
			case 6:
			case 7:
			case 8:
			case 9:
			case 10: return 0.02;
			case 11:
			case 12:
			case 13:
			case 14:
			case 15: return 0.03;
			default: return 0.04;
			}
	}
	public void mostrarDescuento (double descuento) {
		lblVistaDescuento.setText("Descuento: " + descuento * 100 + "%");
	}
	
	public String obtenerObsequio (int cantidad) {
		switch (cantidad) {
		case 1: return obsequio1;
		case 2:
		case 3:
		case 4:
		case 5: return obsequio2;
		default: return obsequio3;
		}
	}
	
	public String obtenerModelo (int cocinas) {
		
		cocinas = cboModelo.getSelectedIndex();
		
		switch (cocinas) {
		case 1:
			return modelo0;
		case 2:
			return modelo1;
		case 3:
			return modelo2;
		case 4:
			return modelo3;
		default:
			return modelo4;
		}
	}
	
	public double obtenerImporteCompra (double precio, int cantidad) {
		return precio * cantidad;
	}
	public double obtenerImporteDescuento (double importeCompra, double descuento) {
		return importeCompra * descuento;
	}
	public double obtenerImportePagar (double importeCompra, double importeDescuento) {
		return importeCompra - importeDescuento;
	}
	public int contadoresVentasModelos (int modelos) {
		
		modelos = cboModelo.getSelectedIndex();
		
		switch (modelos) {
		case 1: return contadorVentas0++;
		case 2: return contadorVentas1++;
		case 3: return contadorVentas2++;
		case 4: return contadorVentas3++;
		default: return contadorVentas4++;
		}
	}
	
	public int acumuladorCantidadVendida (int unidadModel, int cantidad) {
		
		unidadModel = cboModelo.getSelectedIndex();
		
		switch (unidadModel) {
		case 1: return cantidadUnidadesVendidas0 += cantidad;
		case 2: return cantidadUnidadesVendidas1 += cantidad;
		case 3: return cantidadUnidadesVendidas2 += cantidad;
		case 4: return cantidadUnidadesVendidas3 += cantidad;
		default: return cantidadUnidadesVendidas4 += cantidad;
		}
	}
	
	public double acumuladorTotalVendido (int ventaModel, double importePagar) {
		
		ventaModel = cboModelo.getSelectedIndex();
		
		switch (ventaModel) {
		case 1: return importeTotalVendido0 += importePagar;
		case 2: return importeTotalVendido1 += importePagar;
		case 3: return importeTotalVendido2 += importePagar;
		case 4: return importeTotalVendido3 += importePagar;
		default: return importeTotalVendido4 += importePagar;
		}		
	}
	
	public double obtenerAporteCuotaDiaria (int aporte) {
		
		aporte = cboModelo.getSelectedIndex();
		
		switch (aporte) {
		case 1: return aporteCuota0 = (importeTotalVendido0 / cuotaDiaria) * 100;
		case 2: return aporteCuota1 = (importeTotalVendido1 / cuotaDiaria) * 100;
		case 3: return aporteCuota2 = (importeTotalVendido2 / cuotaDiaria) * 100;
		case 4: return aporteCuota3 = (importeTotalVendido3 / cuotaDiaria) * 100;
		default: return aporteCuota4 =(importeTotalVendido4 / cuotaDiaria) * 100;
		}
	}
	public void obtenerMensaje () {

		NumberFormat formateador = new DecimalFormat("#,###,###.00");
		int serie = 0, incremento = 5;
		int contadorGeneral = contadorVentas0 + contadorVentas1 + contadorVentas2 + contadorVentas3 + contadorVentas4;
		double importeTotalGeneralAcumulado = importeTotalVendido0 + importeTotalVendido1 + importeTotalVendido2 + importeTotalVendido3 + importeTotalVendido4;
		double acumuladoAporteCuota = aporteCuota0 + aporteCuota1 + aporteCuota2 + aporteCuota3 + aporteCuota4;
		
		while (contadorGeneral < 100) {
			
			contadorGeneral ++;
			serie += incremento;
			
			if (contadorGeneral == serie) {
				
				JOptionPane.showMessageDialog(null,"Venta N°" + contadorGeneral + "\n" + "Importe Total General Acumulado : S/ " + formateador.format(importeTotalGeneralAcumulado) + "\n" + "Porcentaje de la Cuota Diaria : " + formateador.format(acumuladoAporteCuota) + "%", "Avance de Ventas", JOptionPane.INFORMATION_MESSAGE);
				
			}
			
		}
	}
}
Leave a Comment