Advertisement
Re_21

Untitled

Jun 7th, 2023
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 18.66 KB | None | 0 0
  1. /*
  2.  * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
  3.  * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
  4.  */
  5. package com.mycompany.pruebaproyecto;
  6.  
  7.  
  8. import java.io.*;
  9. import java.util.*;
  10.  
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import java.util.Scanner;
  14.  
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. import java.util.Scanner;
  18.  
  19. class Cliente {
  20.  
  21.     private String cui;
  22.     private String nit;
  23.     private String direccionResidencia;
  24.     private String entidadLabora;
  25.     private String direccionLabora;
  26.     private String fechaNacimiento;
  27.     private String nombres;
  28.     private String apellidos;
  29.     //private List<String> numerosTelefonicos;
  30.     private int estadoRegistro;
  31.  
  32.     public Cliente(String cui, String nit, String direccionResidencia, String entidadLabora, String direccionLabora, String fechaNacimiento, String nombres, String apellidos, int estadoRegistro) {
  33.         this.cui = cui;
  34.         this.nit = nit;
  35.         this.direccionResidencia = direccionResidencia;
  36.         this.entidadLabora = entidadLabora;
  37.         this.direccionLabora = direccionLabora;
  38.         this.fechaNacimiento = fechaNacimiento;
  39.         this.nombres = nombres;
  40.         this.apellidos = apellidos;
  41.         //this.numerosTelefonicos = numerosTelefonicos;
  42.         this.estadoRegistro = estadoRegistro;
  43.     }
  44.  
  45.     public String getCui() {
  46.         return cui;
  47.     }
  48.  
  49.     public String getNit() {
  50.         return nit;
  51.     }
  52.  
  53.     public String getDireccionResidencia() {
  54.         return direccionResidencia;
  55.     }
  56.  
  57.     public String getEntidadLabora() {
  58.         return entidadLabora;
  59.     }
  60.  
  61.     public String getDireccionLabora() {
  62.         return direccionLabora;
  63.     }
  64.  
  65.     public String getFechaNacimiento() {
  66.         return fechaNacimiento;
  67.     }
  68.  
  69.     public String getNombres() {
  70.         return nombres;
  71.     }
  72.  
  73.     public String getApellidos() {
  74.         return apellidos;
  75.     }
  76.  
  77.  
  78.  
  79.     public int getEstadoRegistro() {
  80.         return estadoRegistro;
  81.     }
  82.  
  83.     public void setEstadoRegistro(int estadoRegistro) {
  84.         this.estadoRegistro = estadoRegistro;
  85.     }
  86. }
  87.  
  88. class Vehiculo {
  89.  
  90.     private String numeroPlaca;
  91.     private String marca;
  92.     private String linea;
  93.     private String modelo;
  94.     private String color;
  95.     private String nitPropietario;
  96.     private int estadoRegistro;
  97.  
  98.     public Vehiculo(String numeroPlaca, String marca, String linea, String modelo, String color, String nitPropietario, int estadoRegistro) {
  99.         this.numeroPlaca = numeroPlaca;
  100.         this.marca = marca;
  101.         this.linea = linea;
  102.         this.modelo = modelo;
  103.         this.color = color;
  104.         this.nitPropietario = nitPropietario;
  105.         this.estadoRegistro = estadoRegistro;
  106.     }
  107.  
  108.     public String getNumeroPlaca() {
  109.         return numeroPlaca;
  110.     }
  111.  
  112.     public String getMarca() {
  113.         return marca;
  114.     }
  115.  
  116.     public String getLinea() {
  117.         return linea;
  118.     }
  119.  
  120.     public String getModelo() {
  121.         return modelo;
  122.     }
  123.  
  124.     public String getColor() {
  125.         return color;
  126.     }
  127.  
  128.     public String getNitPropietario() {
  129.         return nitPropietario;
  130.     }
  131.  
  132.     public int getEstadoRegistro() {
  133.         return estadoRegistro;
  134.     }
  135.  
  136.     public void setEstadoRegistro(int estadoRegistro) {
  137.         this.estadoRegistro = estadoRegistro;
  138.     }
  139. }
  140.  
  141. class Parqueo {
  142.  
  143.     private int numeroParqueo;
  144.     private String numeroPlaca;
  145.     private String nitPropietario;
  146.     private String fechaRegistro;
  147.  
  148.     public Parqueo(int numeroParqueo, String numeroPlaca, String nitPropietario, String fechaRegistro) {
  149.         this.numeroParqueo = numeroParqueo;
  150.         this.numeroPlaca = numeroPlaca;
  151.         this.nitPropietario = nitPropietario;
  152.         this.fechaRegistro = fechaRegistro;
  153.     }
  154.  
  155.     public int getNumeroParqueo() {
  156.         return numeroParqueo;
  157.     }
  158.  
  159.     public String getNumeroPlaca() {
  160.         return numeroPlaca;
  161.     }
  162.  
  163.     public String getNitPropietario() {
  164.         return nitPropietario;
  165.     }
  166.  
  167.     public String getFechaRegistro() {
  168.         return fechaRegistro;
  169.     }
  170.  
  171.     public void setNumeroPlaca(String numeroPlaca) {
  172.         this.numeroPlaca = numeroPlaca;
  173.     }
  174.  
  175.     public void setNitPropietario(String nitPropietario) {
  176.         this.nitPropietario = nitPropietario;
  177.     }
  178.  
  179.     public void setFechaRegistro(String fechaRegistro) {
  180.         this.fechaRegistro = fechaRegistro;
  181.     }
  182. }
  183.  
  184. class PagoParqueo {
  185.  
  186.     private int numeroParqueo;
  187.     private int codigoMedioPago;
  188.     private double montoPago;
  189.     private String numeroAutorizacion;
  190.     private String fechaPago;
  191.  
  192.     public PagoParqueo(int numeroParqueo, int codigoMedioPago, double montoPago, String numeroAutorizacion, String fechaPago) {
  193.         this.numeroParqueo = numeroParqueo;
  194.         this.codigoMedioPago = codigoMedioPago;
  195.         this.montoPago = montoPago;
  196.         this.numeroAutorizacion = numeroAutorizacion;
  197.         this.fechaPago = fechaPago;
  198.     }
  199.  
  200.     public int getNumeroParqueo() {
  201.         return numeroParqueo;
  202.     }
  203.  
  204.     public int getCodigoMedioPago() {
  205.         return codigoMedioPago;
  206.     }
  207.  
  208.     public double getMontoPago() {
  209.         return montoPago;
  210.     }
  211.  
  212.     public String getNumeroAutorizacion() {
  213.         return numeroAutorizacion;
  214.     }
  215.  
  216.     public String getFechaPago() {
  217.         return fechaPago;
  218.     }
  219. }
  220.  
  221. public class Main {
  222.  
  223.     private List<Cliente> clientes;
  224.     private List<Vehiculo> vehiculos;
  225.     private List<Parqueo> parqueos;
  226.     private List<PagoParqueo> pagos;
  227.  
  228.     public Main() {
  229.         clientes = new ArrayList<>();
  230.         vehiculos = new ArrayList<>();
  231.         parqueos = new ArrayList<>();
  232.         pagos = new ArrayList<>();
  233.         cargarDatos();
  234.     }
  235.  
  236.     public static void main(String[] args) {
  237.         Main main = new Main();
  238.         main.mostrarMenu();
  239.     }
  240.  
  241.     private void mostrarMenu() {
  242.         Scanner scanner = new Scanner(System.in);
  243.         int opcion;
  244.         do {
  245.             System.out.println("---- Menú ----");
  246.             System.out.println("1. Buscar cliente por código");
  247.             System.out.println("2. Buscar vehículo por placa");
  248.             System.out.println("3. Buscar pagos por cliente");
  249.             System.out.println("4. Buscar pagos por parqueo");
  250.             System.out.println("5. Salir");
  251.             System.out.print("Ingrese una opción: ");
  252.             opcion = scanner.nextInt();
  253.             scanner.nextLine(); // Limpiar el buffer del scanner
  254.  
  255.             switch (opcion) {
  256.                 case 1:
  257.                     System.out.print("Ingrese el código (CUI o NIT) del cliente: ");
  258.                     String codigoCliente = scanner.nextLine();
  259.                     List<Cliente> clientesEncontrados = buscarClientePorCodigo(codigoCliente);
  260.                     if (clientesEncontrados.isEmpty()) {
  261.                         System.out.println("No se encontraron clientes con el código ingresado.");
  262.                     } else {
  263.                         System.out.println("Clientes encontrados:");
  264.                         for (Cliente cliente : clientesEncontrados) {
  265.                             System.out.println(cliente);
  266.                         }
  267.                     }
  268.                     break;
  269.                 case 2:
  270.                     System.out.print("Ingrese la placa del vehículo: ");
  271.                     String numeroPlaca = scanner.nextLine();
  272.                     List<Vehiculo> vehiculosEncontrados = buscarVehiculoPorPlaca(numeroPlaca);
  273.                     if (vehiculosEncontrados.isEmpty()) {
  274.                         System.out.println("No se encontraron vehículos con la placa ingresada.");
  275.                     } else {
  276.                         System.out.println("Vehículos encontrados:");
  277.                         for (Vehiculo vehiculo : vehiculosEncontrados) {
  278.                             System.out.println(vehiculo);
  279.                         }
  280.                     }
  281.                     break;
  282.                 case 3:
  283.                     System.out.print("Ingrese el NIT del cliente: ");
  284.                     String nitCliente = scanner.nextLine();
  285.                     List<PagoParqueo> pagosCliente = buscarPagosPorCliente(nitCliente);
  286.                     if (pagosCliente.isEmpty()) {
  287.                         System.out.println("No se encontraron pagos asociados al cliente con el NIT ingresado.");
  288.                     } else {
  289.                         System.out.println("Pagos encontrados:");
  290.                         for (PagoParqueo pago : pagosCliente) {
  291.                             System.out.println(pago);
  292.                         }
  293.                     }
  294.                     break;
  295.                 case 4:
  296.                     System.out.print("Ingrese el número de parqueo: ");
  297.                     int numeroParqueo = scanner.nextInt();
  298.                     List<PagoParqueo> pagosParqueo = buscarPagosPorParqueo(numeroParqueo);
  299.                     if (pagosParqueo.isEmpty()) {
  300.                         System.out.println("No se encontraron pagos asociados al parqueo ingresado.");
  301.                     } else {
  302.                         System.out.println("Pagos encontrados:");
  303.                         for (PagoParqueo pago : pagosParqueo) {
  304.                             System.out.println(pago);
  305.                         }
  306.                     }
  307.                     break;
  308.                 case 5:
  309.                     System.out.println("Saliendo del programa...");
  310.                     break;
  311.                 default:
  312.                     System.out.println("Opción inválida. Por favor, ingrese una opción válida.");
  313.             }
  314.             System.out.println();
  315.         } while (opcion != 5);
  316.  
  317.         guardarDatos();
  318.     }
  319.     public Vehiculo buscarVehiculo(String numeroPlaca) {
  320.         for (Vehiculo vehiculo : vehiculos) {
  321.             if (vehiculo.getNumeroPlaca().equals(numeroPlaca)) {
  322.                 return vehiculo;
  323.             }
  324.         }
  325.         return null;
  326.     }
  327.  
  328.     public List<Cliente> buscarClientePorCodigo(String codigo) {
  329.         List<Cliente> resultado = new ArrayList<>();
  330.         for (Cliente cliente : clientes) {
  331.             if (cliente.getCui().equals(codigo) || cliente.getNit().equals(codigo)) {
  332.                 resultado.add(cliente);
  333.             }
  334.         }
  335.         return resultado;
  336.     }
  337.  
  338.     public List<Vehiculo> buscarVehiculoPorPlaca(String numeroPlaca) {
  339.         List<Vehiculo> resultado = new ArrayList<>();
  340.         for (Vehiculo vehiculo : vehiculos) {
  341.             if (vehiculo.getNumeroPlaca().equals(numeroPlaca)) {
  342.                 resultado.add(vehiculo);
  343.             }
  344.         }
  345.         return resultado;
  346.     }
  347.  
  348.     public Parqueo buscarParqueo(int numeroParqueo) {
  349.         for (Parqueo parqueo : parqueos) {
  350.             if (parqueo.getNumeroParqueo() == numeroParqueo) {
  351.                 return parqueo;
  352.             }
  353.         }
  354.         return null;
  355.     }
  356.  
  357.     public List<PagoParqueo> buscarPagosPorCliente(String nit) {
  358.         List<PagoParqueo> resultado = new ArrayList<>();
  359.         for (PagoParqueo pago : pagos) {
  360.             Parqueo parqueo = buscarParqueo(pago.getNumeroParqueo());
  361.             Vehiculo vehiculo = buscarVehiculo(parqueo.getNumeroPlaca());
  362.             if (vehiculo.getNitPropietario().equals(nit)) {
  363.                 resultado.add(pago);
  364.             }
  365.         }
  366.         return resultado;
  367.     }
  368.  
  369.     public List<PagoParqueo> buscarPagosPorParqueo(int numeroParqueo) {
  370.         List<PagoParqueo> resultado = new ArrayList<>();
  371.         for (PagoParqueo pago : pagos) {
  372.             if (pago.getNumeroParqueo() == numeroParqueo) {
  373.                 resultado.add(pago);
  374.             }
  375.         }
  376.         return resultado;
  377.     }
  378.  
  379.     private void cargarDatos() {
  380.         cargarClientes();
  381.         cargarVehiculos();
  382.         cargarParqueos();
  383.         cargarPagos();
  384.     }
  385.  
  386.     private void guardarDatos() {
  387.         guardarClientes();
  388.         guardarVehiculos();
  389.         guardarParqueos();
  390.         guardarPagos();
  391.     }
  392.  
  393.     private void cargarClientes() {
  394.         try {
  395.             File file = new File("clientes.txt");
  396.             if (file.exists()) {
  397.                 Scanner scanner = new Scanner(file);
  398.                 while (scanner.hasNextLine()) {
  399.                     String line = scanner.nextLine();
  400.                     String[] parts = line.split(",");
  401.                     String cui = parts[0];
  402.                     String nit = parts[1];
  403.                     String direccionResidencia = parts[2];
  404.                     String nombreEntidadLabora = parts[3];
  405.                     String direccionLabora = parts[4];
  406.                     String fechaNacimiento = parts[5];
  407.                     String nombres = parts[6];
  408.                     String apellidos = parts[7];
  409.                     String numerosTelefonicos = parts[8];
  410.                     int estadoRegistro = Integer.parseInt(parts[9]);
  411.  
  412.                     Cliente cliente = new Cliente(cui, nit, direccionResidencia, nombreEntidadLabora, direccionLabora,
  413.                             fechaNacimiento, nombres, apellidos, estadoRegistro);
  414.                     clientes.add(cliente);
  415.                 }
  416.                 scanner.close();
  417.             }
  418.         } catch (FileNotFoundException e) {
  419.             e.printStackTrace();
  420.         }
  421.     }
  422.  
  423.     private void cargarVehiculos() {
  424.         try {
  425.             File file = new File("vehiculos.txt");
  426.             if (file.exists()) {
  427.                 Scanner scanner = new Scanner(file);
  428.                 while (scanner.hasNextLine()) {
  429.                     String line = scanner.nextLine();
  430.                     String[] parts = line.split(",");
  431.                     String numeroPlaca = parts[0];
  432.                     String marca = parts[1];
  433.                     String linea = parts[2];
  434.                     String modelo = parts[3];
  435.                     String color = parts[4];
  436.                     String nitPropietario = parts[5];
  437.                     int estadoRegistro = Integer.parseInt(parts[6]);
  438.  
  439.                     Vehiculo vehiculo = new Vehiculo(numeroPlaca, marca, linea, modelo, color, nitPropietario,
  440.                             estadoRegistro);
  441.                     vehiculos.add(vehiculo);
  442.                 }
  443.                 scanner.close();
  444.             }
  445.         } catch (FileNotFoundException e) {
  446.             e.printStackTrace();
  447.         }
  448.     }
  449.  
  450.     private void cargarParqueos() {
  451.         try {
  452.             File file = new File("parqueos.txt");
  453.             if (file.exists()) {
  454.                 Scanner scanner = new Scanner(file);
  455.                 while (scanner.hasNextLine()) {
  456.                     String line = scanner.nextLine();
  457.                     String[] parts = line.split(",");
  458.                     int numeroParqueo = Integer.parseInt(parts[0]);
  459.                     String numeroPlaca = parts[1];
  460.                     String nitPropietario = parts[2];
  461.                     String fechaRegistro = parts[3];
  462.  
  463.                     Parqueo parqueo = new Parqueo(numeroParqueo, numeroPlaca, nitPropietario, fechaRegistro);
  464.                     parqueos.add(parqueo);
  465.                 }
  466.                 scanner.close();
  467.             }
  468.         } catch (FileNotFoundException e) {
  469.             e.printStackTrace();
  470.         }
  471.     }
  472.  
  473.     private void cargarPagos() {
  474.         try {
  475.             File file = new File("pagos.txt");
  476.             if (file.exists()) {
  477.                 Scanner scanner = new Scanner(file);
  478.                 while (scanner.hasNextLine()) {
  479.                     String line = scanner.nextLine();
  480.                     String[] parts = line.split(",");
  481.                     int numeroParqueo = Integer.parseInt(parts[0]);
  482.                     int codigoMedioPago = Integer.parseInt(parts[1]);
  483.                     double montoPago = Double.parseDouble(parts[2]);
  484.                     String numeroAutorizacion = parts[3];
  485.                     String fechaPago = parts[4];
  486.  
  487.                     PagoParqueo pago = new PagoParqueo(numeroParqueo, codigoMedioPago, montoPago, numeroAutorizacion,
  488.                             fechaPago);
  489.                     pagos.add(pago);
  490.                 }
  491.                 scanner.close();
  492.             }
  493.         } catch (FileNotFoundException e) {
  494.             e.printStackTrace();
  495.         }
  496.     }
  497.  
  498.     private void guardarClientes() {
  499.         try {
  500.             File file = new File("clientes.txt");
  501.             FileWriter writer = new FileWriter(file);
  502.             for (Cliente cliente : clientes) {
  503.                 writer.write(cliente.getCui() + "," + cliente.getNit() + "," + cliente.getDireccionResidencia() + ","
  504.                         + cliente.getEntidadLabora() + "," + cliente.getDireccionLabora() + ","
  505.                         + cliente.getFechaNacimiento() + "," + cliente.getNombres() + "," + cliente.getApellidos() + ","
  506.                         + String.join(";", cliente.getEstadoRegistro() + "\n"));
  507.             }
  508.             writer.close();
  509.         } catch (IOException e) {
  510.             e.printStackTrace();
  511.         }
  512.     }
  513.  
  514.     private void guardarVehiculos() {
  515.         try {
  516.             File file = new File("vehiculos.txt");
  517.             FileWriter writer = new FileWriter(file);
  518.             for (Vehiculo vehiculo : vehiculos) {
  519.                 writer.write(vehiculo.getNumeroPlaca() + "," + vehiculo.getMarca() + "," + vehiculo.getLinea() + ","
  520.                         + vehiculo.getModelo() + "," + vehiculo.getColor() + "," + vehiculo.getNitPropietario() + ","
  521.                         + vehiculo.getEstadoRegistro() + "\n");
  522.             }
  523.             writer.close();
  524.         } catch (IOException e) {
  525.             e.printStackTrace();
  526.         }
  527.     }
  528.  
  529.     private void guardarParqueos() {
  530.         try {
  531.             File file = new File("parqueos.txt");
  532.             FileWriter writer = new FileWriter(file);
  533.             for (Parqueo parqueo : parqueos) {
  534.                 writer.write(parqueo.getNumeroParqueo() + "," + parqueo.getNumeroPlaca() + ","
  535.                         + parqueo.getNitPropietario() + "," + parqueo.getFechaRegistro() + "\n");
  536.             }
  537.             writer.close();
  538.         } catch (IOException e) {
  539.             e.printStackTrace();
  540.         }
  541.     }
  542.  
  543.     private void guardarPagos() {
  544.         try {
  545.             File file = new File("pagos.txt");
  546.             FileWriter writer = new FileWriter(file);
  547.             for (PagoParqueo pago : pagos) {
  548.                 writer.write(pago.getNumeroParqueo() + "," + pago.getCodigoMedioPago() + "," + pago.getMontoPago()
  549.                         + "," + pago.getNumeroAutorizacion() + "," + pago.getFechaPago() + "\n");
  550.             }
  551.             writer.close();
  552.         } catch (IOException e) {
  553.             e.printStackTrace();
  554.         }
  555.     }
  556. }
  557.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement