Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
- * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
- */
- package com.mycompany.pruebaproyecto;
- import java.io.*;
- import java.util.*;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- class Cliente {
- private String cui;
- private String nit;
- private String direccionResidencia;
- private String entidadLabora;
- private String direccionLabora;
- private String fechaNacimiento;
- private String nombres;
- private String apellidos;
- //private List<String> numerosTelefonicos;
- private int estadoRegistro;
- public Cliente(String cui, String nit, String direccionResidencia, String entidadLabora, String direccionLabora, String fechaNacimiento, String nombres, String apellidos, int estadoRegistro) {
- this.cui = cui;
- this.nit = nit;
- this.direccionResidencia = direccionResidencia;
- this.entidadLabora = entidadLabora;
- this.direccionLabora = direccionLabora;
- this.fechaNacimiento = fechaNacimiento;
- this.nombres = nombres;
- this.apellidos = apellidos;
- //this.numerosTelefonicos = numerosTelefonicos;
- this.estadoRegistro = estadoRegistro;
- }
- public String getCui() {
- return cui;
- }
- public String getNit() {
- return nit;
- }
- public String getDireccionResidencia() {
- return direccionResidencia;
- }
- public String getEntidadLabora() {
- return entidadLabora;
- }
- public String getDireccionLabora() {
- return direccionLabora;
- }
- public String getFechaNacimiento() {
- return fechaNacimiento;
- }
- public String getNombres() {
- return nombres;
- }
- public String getApellidos() {
- return apellidos;
- }
- public int getEstadoRegistro() {
- return estadoRegistro;
- }
- public void setEstadoRegistro(int estadoRegistro) {
- this.estadoRegistro = estadoRegistro;
- }
- }
- class Vehiculo {
- private String numeroPlaca;
- private String marca;
- private String linea;
- private String modelo;
- private String color;
- private String nitPropietario;
- private int estadoRegistro;
- public Vehiculo(String numeroPlaca, String marca, String linea, String modelo, String color, String nitPropietario, int estadoRegistro) {
- this.numeroPlaca = numeroPlaca;
- this.marca = marca;
- this.linea = linea;
- this.modelo = modelo;
- this.color = color;
- this.nitPropietario = nitPropietario;
- this.estadoRegistro = estadoRegistro;
- }
- public String getNumeroPlaca() {
- return numeroPlaca;
- }
- public String getMarca() {
- return marca;
- }
- public String getLinea() {
- return linea;
- }
- public String getModelo() {
- return modelo;
- }
- public String getColor() {
- return color;
- }
- public String getNitPropietario() {
- return nitPropietario;
- }
- public int getEstadoRegistro() {
- return estadoRegistro;
- }
- public void setEstadoRegistro(int estadoRegistro) {
- this.estadoRegistro = estadoRegistro;
- }
- }
- class Parqueo {
- private int numeroParqueo;
- private String numeroPlaca;
- private String nitPropietario;
- private String fechaRegistro;
- public Parqueo(int numeroParqueo, String numeroPlaca, String nitPropietario, String fechaRegistro) {
- this.numeroParqueo = numeroParqueo;
- this.numeroPlaca = numeroPlaca;
- this.nitPropietario = nitPropietario;
- this.fechaRegistro = fechaRegistro;
- }
- public int getNumeroParqueo() {
- return numeroParqueo;
- }
- public String getNumeroPlaca() {
- return numeroPlaca;
- }
- public String getNitPropietario() {
- return nitPropietario;
- }
- public String getFechaRegistro() {
- return fechaRegistro;
- }
- public void setNumeroPlaca(String numeroPlaca) {
- this.numeroPlaca = numeroPlaca;
- }
- public void setNitPropietario(String nitPropietario) {
- this.nitPropietario = nitPropietario;
- }
- public void setFechaRegistro(String fechaRegistro) {
- this.fechaRegistro = fechaRegistro;
- }
- }
- class PagoParqueo {
- private int numeroParqueo;
- private int codigoMedioPago;
- private double montoPago;
- private String numeroAutorizacion;
- private String fechaPago;
- public PagoParqueo(int numeroParqueo, int codigoMedioPago, double montoPago, String numeroAutorizacion, String fechaPago) {
- this.numeroParqueo = numeroParqueo;
- this.codigoMedioPago = codigoMedioPago;
- this.montoPago = montoPago;
- this.numeroAutorizacion = numeroAutorizacion;
- this.fechaPago = fechaPago;
- }
- public int getNumeroParqueo() {
- return numeroParqueo;
- }
- public int getCodigoMedioPago() {
- return codigoMedioPago;
- }
- public double getMontoPago() {
- return montoPago;
- }
- public String getNumeroAutorizacion() {
- return numeroAutorizacion;
- }
- public String getFechaPago() {
- return fechaPago;
- }
- }
- public class Main {
- private List<Cliente> clientes;
- private List<Vehiculo> vehiculos;
- private List<Parqueo> parqueos;
- private List<PagoParqueo> pagos;
- public Main() {
- clientes = new ArrayList<>();
- vehiculos = new ArrayList<>();
- parqueos = new ArrayList<>();
- pagos = new ArrayList<>();
- cargarDatos();
- }
- public static void main(String[] args) {
- Main main = new Main();
- main.mostrarMenu();
- }
- private void mostrarMenu() {
- Scanner scanner = new Scanner(System.in);
- int opcion;
- do {
- System.out.println("---- Menú ----");
- System.out.println("1. Buscar cliente por código");
- System.out.println("2. Buscar vehículo por placa");
- System.out.println("3. Buscar pagos por cliente");
- System.out.println("4. Buscar pagos por parqueo");
- System.out.println("5. Salir");
- System.out.print("Ingrese una opción: ");
- opcion = scanner.nextInt();
- scanner.nextLine(); // Limpiar el buffer del scanner
- switch (opcion) {
- case 1:
- System.out.print("Ingrese el código (CUI o NIT) del cliente: ");
- String codigoCliente = scanner.nextLine();
- List<Cliente> clientesEncontrados = buscarClientePorCodigo(codigoCliente);
- if (clientesEncontrados.isEmpty()) {
- System.out.println("No se encontraron clientes con el código ingresado.");
- } else {
- System.out.println("Clientes encontrados:");
- for (Cliente cliente : clientesEncontrados) {
- System.out.println(cliente);
- }
- }
- break;
- case 2:
- System.out.print("Ingrese la placa del vehículo: ");
- String numeroPlaca = scanner.nextLine();
- List<Vehiculo> vehiculosEncontrados = buscarVehiculoPorPlaca(numeroPlaca);
- if (vehiculosEncontrados.isEmpty()) {
- System.out.println("No se encontraron vehículos con la placa ingresada.");
- } else {
- System.out.println("Vehículos encontrados:");
- for (Vehiculo vehiculo : vehiculosEncontrados) {
- System.out.println(vehiculo);
- }
- }
- break;
- case 3:
- System.out.print("Ingrese el NIT del cliente: ");
- String nitCliente = scanner.nextLine();
- List<PagoParqueo> pagosCliente = buscarPagosPorCliente(nitCliente);
- if (pagosCliente.isEmpty()) {
- System.out.println("No se encontraron pagos asociados al cliente con el NIT ingresado.");
- } else {
- System.out.println("Pagos encontrados:");
- for (PagoParqueo pago : pagosCliente) {
- System.out.println(pago);
- }
- }
- break;
- case 4:
- System.out.print("Ingrese el número de parqueo: ");
- int numeroParqueo = scanner.nextInt();
- List<PagoParqueo> pagosParqueo = buscarPagosPorParqueo(numeroParqueo);
- if (pagosParqueo.isEmpty()) {
- System.out.println("No se encontraron pagos asociados al parqueo ingresado.");
- } else {
- System.out.println("Pagos encontrados:");
- for (PagoParqueo pago : pagosParqueo) {
- System.out.println(pago);
- }
- }
- break;
- case 5:
- System.out.println("Saliendo del programa...");
- break;
- default:
- System.out.println("Opción inválida. Por favor, ingrese una opción válida.");
- }
- System.out.println();
- } while (opcion != 5);
- guardarDatos();
- }
- public Vehiculo buscarVehiculo(String numeroPlaca) {
- for (Vehiculo vehiculo : vehiculos) {
- if (vehiculo.getNumeroPlaca().equals(numeroPlaca)) {
- return vehiculo;
- }
- }
- return null;
- }
- public List<Cliente> buscarClientePorCodigo(String codigo) {
- List<Cliente> resultado = new ArrayList<>();
- for (Cliente cliente : clientes) {
- if (cliente.getCui().equals(codigo) || cliente.getNit().equals(codigo)) {
- resultado.add(cliente);
- }
- }
- return resultado;
- }
- public List<Vehiculo> buscarVehiculoPorPlaca(String numeroPlaca) {
- List<Vehiculo> resultado = new ArrayList<>();
- for (Vehiculo vehiculo : vehiculos) {
- if (vehiculo.getNumeroPlaca().equals(numeroPlaca)) {
- resultado.add(vehiculo);
- }
- }
- return resultado;
- }
- public Parqueo buscarParqueo(int numeroParqueo) {
- for (Parqueo parqueo : parqueos) {
- if (parqueo.getNumeroParqueo() == numeroParqueo) {
- return parqueo;
- }
- }
- return null;
- }
- public List<PagoParqueo> buscarPagosPorCliente(String nit) {
- List<PagoParqueo> resultado = new ArrayList<>();
- for (PagoParqueo pago : pagos) {
- Parqueo parqueo = buscarParqueo(pago.getNumeroParqueo());
- Vehiculo vehiculo = buscarVehiculo(parqueo.getNumeroPlaca());
- if (vehiculo.getNitPropietario().equals(nit)) {
- resultado.add(pago);
- }
- }
- return resultado;
- }
- public List<PagoParqueo> buscarPagosPorParqueo(int numeroParqueo) {
- List<PagoParqueo> resultado = new ArrayList<>();
- for (PagoParqueo pago : pagos) {
- if (pago.getNumeroParqueo() == numeroParqueo) {
- resultado.add(pago);
- }
- }
- return resultado;
- }
- private void cargarDatos() {
- cargarClientes();
- cargarVehiculos();
- cargarParqueos();
- cargarPagos();
- }
- private void guardarDatos() {
- guardarClientes();
- guardarVehiculos();
- guardarParqueos();
- guardarPagos();
- }
- private void cargarClientes() {
- try {
- File file = new File("clientes.txt");
- if (file.exists()) {
- Scanner scanner = new Scanner(file);
- while (scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] parts = line.split(",");
- String cui = parts[0];
- String nit = parts[1];
- String direccionResidencia = parts[2];
- String nombreEntidadLabora = parts[3];
- String direccionLabora = parts[4];
- String fechaNacimiento = parts[5];
- String nombres = parts[6];
- String apellidos = parts[7];
- String numerosTelefonicos = parts[8];
- int estadoRegistro = Integer.parseInt(parts[9]);
- Cliente cliente = new Cliente(cui, nit, direccionResidencia, nombreEntidadLabora, direccionLabora,
- fechaNacimiento, nombres, apellidos, estadoRegistro);
- clientes.add(cliente);
- }
- scanner.close();
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- private void cargarVehiculos() {
- try {
- File file = new File("vehiculos.txt");
- if (file.exists()) {
- Scanner scanner = new Scanner(file);
- while (scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] parts = line.split(",");
- String numeroPlaca = parts[0];
- String marca = parts[1];
- String linea = parts[2];
- String modelo = parts[3];
- String color = parts[4];
- String nitPropietario = parts[5];
- int estadoRegistro = Integer.parseInt(parts[6]);
- Vehiculo vehiculo = new Vehiculo(numeroPlaca, marca, linea, modelo, color, nitPropietario,
- estadoRegistro);
- vehiculos.add(vehiculo);
- }
- scanner.close();
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- private void cargarParqueos() {
- try {
- File file = new File("parqueos.txt");
- if (file.exists()) {
- Scanner scanner = new Scanner(file);
- while (scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] parts = line.split(",");
- int numeroParqueo = Integer.parseInt(parts[0]);
- String numeroPlaca = parts[1];
- String nitPropietario = parts[2];
- String fechaRegistro = parts[3];
- Parqueo parqueo = new Parqueo(numeroParqueo, numeroPlaca, nitPropietario, fechaRegistro);
- parqueos.add(parqueo);
- }
- scanner.close();
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- private void cargarPagos() {
- try {
- File file = new File("pagos.txt");
- if (file.exists()) {
- Scanner scanner = new Scanner(file);
- while (scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] parts = line.split(",");
- int numeroParqueo = Integer.parseInt(parts[0]);
- int codigoMedioPago = Integer.parseInt(parts[1]);
- double montoPago = Double.parseDouble(parts[2]);
- String numeroAutorizacion = parts[3];
- String fechaPago = parts[4];
- PagoParqueo pago = new PagoParqueo(numeroParqueo, codigoMedioPago, montoPago, numeroAutorizacion,
- fechaPago);
- pagos.add(pago);
- }
- scanner.close();
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- private void guardarClientes() {
- try {
- File file = new File("clientes.txt");
- FileWriter writer = new FileWriter(file);
- for (Cliente cliente : clientes) {
- writer.write(cliente.getCui() + "," + cliente.getNit() + "," + cliente.getDireccionResidencia() + ","
- + cliente.getEntidadLabora() + "," + cliente.getDireccionLabora() + ","
- + cliente.getFechaNacimiento() + "," + cliente.getNombres() + "," + cliente.getApellidos() + ","
- + String.join(";", cliente.getEstadoRegistro() + "\n"));
- }
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- private void guardarVehiculos() {
- try {
- File file = new File("vehiculos.txt");
- FileWriter writer = new FileWriter(file);
- for (Vehiculo vehiculo : vehiculos) {
- writer.write(vehiculo.getNumeroPlaca() + "," + vehiculo.getMarca() + "," + vehiculo.getLinea() + ","
- + vehiculo.getModelo() + "," + vehiculo.getColor() + "," + vehiculo.getNitPropietario() + ","
- + vehiculo.getEstadoRegistro() + "\n");
- }
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- private void guardarParqueos() {
- try {
- File file = new File("parqueos.txt");
- FileWriter writer = new FileWriter(file);
- for (Parqueo parqueo : parqueos) {
- writer.write(parqueo.getNumeroParqueo() + "," + parqueo.getNumeroPlaca() + ","
- + parqueo.getNitPropietario() + "," + parqueo.getFechaRegistro() + "\n");
- }
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- private void guardarPagos() {
- try {
- File file = new File("pagos.txt");
- FileWriter writer = new FileWriter(file);
- for (PagoParqueo pago : pagos) {
- writer.write(pago.getNumeroParqueo() + "," + pago.getCodigoMedioPago() + "," + pago.getMontoPago()
- + "," + pago.getNumeroAutorizacion() + "," + pago.getFechaPago() + "\n");
- }
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement