App

Aqui van las clases que son las vista de la consola.
creamos el paquete com.tutosoftware.autotransport.app y en escribimos la clase LicenciaApp
 
  
   
 package com.tutosoftware.autotransport.app;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.InputMismatchException;
import java.util.Scanner;

import com.tutosoftware.autotransport.dao.LicenciaDAO;
import com.tutosoftware.autotransport.domain.Licencia;



public class LicenciaApp {

	Scanner reader = new Scanner(System.in);
	int numero;
	
	LicenciaDAO licenciaDAO = new LicenciaDAO();

	public LicenciaApp() {

		try {
			new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
		} catch (Exception e) {
			/* No hacer nada */
		}

		menuLicencia();
	}

	public void menuLicencia() {

		System.out.println("************************************************************");
		System.out.println("*                                                          *");
		System.out.println("*                                                          *");
		System.out.println("* Tutosofware      LICENCIAS      Mexican Transport        *");
		System.out.println("* El menu es el siguiente:                                 *");
		System.out.println("* 1.Insertar Licencia                                      *");
		System.out.println("* 2.Modificar Licencia                                     *");
		System.out.println("* 3.Eliminar Licencia                                      *");
		System.out.println("* 4.Regresar Menu Pricipal                                 *");
		System.out.println("* 5.Salir    Apilcacion                                    *");
		System.out.println("************************************************************");
		System.out.println();
		System.out.println();

		try {
			System.out.println("Introduce un numero entero y presionar enter");
			numero = reader.nextInt();
		} catch (InputMismatchException ime) {
			System.out.println("¡Cuidado! Solo puedes insertar números. ");
			reader.next();
		}

		if (numero == 1) {
			try {
				insertarLicenciaApp();
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} else if (numero == 2) {
			try {
				modificarLicenciaApp();
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} else if (numero == 3) {
			eliminarLicenciaApp();
		} else if (numero == 4) {
			try {
				new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
			} catch (Exception e) {
				/* No hacer nada */
			}
			Principal p = new Principal(); 
            p.menu();

		} else {
			try {

				new ProcessBuilder("cmd", "/c", "pause").inheritIO().start().waitFor();
				System.exit(0);

			} catch (Exception e) {
				/* maneja tus errores aquí */
			}
		}

	}

	
	public void insertarLicenciaApp() throws ParseException {

		Licencia licencia = new Licencia();
		String idLicencia, nombre, apellidoPaterno, apellidoMaterno;
		String fechaObtencion, fechaExpiracion, tipoLetra;

		System.out.println();
		System.out.println("Introducir ID Licencia y presionar Enter:");
		idLicencia = reader.next();
		System.out.println("Introducir Nombre y presionar Enter:");
		reader.nextLine();
		nombre = reader.nextLine();
		System.out.println("Introducir Apellido Paterno y presionar Enter:");
		apellidoPaterno = reader.nextLine();
		System.out.println("Introducir Apellido Materno y presionar Enter");
		reader.nextLine();
		apellidoMaterno = reader.nextLine();
		System.out.println("Introducir Fecha de Obtencion ejemplo el formato es  30-01-2020 y presionae enter");
		fechaObtencion = reader.next();
		System.out.println("Introducir Fecha de Expiracion ejemplo el formato es  30-01-2020 y presionae enter");
		fechaExpiracion = reader.next();
		System.out.println("Introducir Tipo de Letra");
		tipoLetra = reader.next();

		java.util.Date dateObt = new SimpleDateFormat("dd-MM-yyyy").parse(fechaObtencion);
		java.sql.Date sqlDateObt = new java.sql.Date(dateObt.getTime());
		
		
		java.util.Date dateExp = new SimpleDateFormat("dd-MM-yyyy").parse(fechaExpiracion);
		java.sql.Date sqlDateExp = new java.sql.Date(dateExp.getTime());
		
		licencia.setIdLicencia(idLicencia);
		licencia.setNombre(nombre);
		licencia.setApellidoPaterno(apellidoPaterno);
		licencia.setApellidoMaterno(apellidoMaterno);
		licencia.setFechaObtencion(sqlDateObt);
		licencia.setFechaExpiracion(sqlDateExp);
		licencia.setTipoLetra(tipoLetra);

		licenciaDAO.insertarLicencia(licencia);
		menuLicencia();
	}
	
	public void modificarLicenciaApp() throws ParseException {
		Licencia licencia = new Licencia();
		Licencia licAct = new Licencia();
		String nombreAc,apellidoPaternoAc,apellidoMaternoAc,fechaObtAc,fechaExpAc,tipoLetraAc;
		String idLicencia;
		System.out.println();
		System.out.println("Introducir ID Licencia y presionar Enter:");
		idLicencia = reader.next();
		licencia = licenciaDAO.buscarLicencia(idLicencia);
		if(licencia.getIdLicencia() == null) {
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			menuLicencia();
		}else {
		System.out.println("ID Licencia: "+licencia.getIdLicencia());
		System.out.println("Nombre: "+licencia.getNombre());
		System.out.println("Apellido Paterno: "+licencia.getApellidoPaterno());
		System.out.println("Apellido Materno: "+licencia.getApellidoMaterno());
		System.out.println("Fecha de Obtención: "+licencia.getFechaObtencion());
		System.out.println("Fecha de Expiración: "+licencia.getFechaExpiracion());
		System.out.println("Tipo de Letra : "+licencia.getTipoLetra());
		reader.nextLine();
		System.out.println("Presiona Enter para Continuar");
		reader.nextLine();
		System.out.println("Actualizar Nombre o presionar enter");
		nombreAc=reader.nextLine();
		System.out.println("Actualizar Apellido Paterno o presionar enter");
		apellidoPaternoAc=reader.nextLine();
		System.out.println("Actualizar Apellido Materno o presionar enter");
		apellidoMaternoAc=reader.nextLine();
		System.out.println("Actualizar Fecha de Obtención dd-mm-yyyy o presionar enter");
		fechaObtAc=reader.nextLine();
		System.out.println("Actualizar Fecha de Expedición dd-mm-yyyy o presionar enter");
		fechaExpAc=reader.nextLine();
		System.out.println("Actualizar tipo de letra o presionar enter");
		tipoLetraAc=reader.nextLine();
		licAct.setIdLicencia(licencia.getIdLicencia());
		if(nombreAc.isEmpty() || nombreAc == null) {
			licAct.setNombre(licencia.getNombre());
		}else {
			licAct.setNombre(nombreAc);
		}
		if(apellidoPaternoAc.isEmpty() || apellidoPaternoAc == null) {
			licAct.setApellidoPaterno(licencia.getApellidoPaterno());
		}else {
			licAct.setApellidoPaterno(apellidoPaternoAc);
		}
		if(apellidoMaternoAc.isEmpty() || apellidoMaternoAc == null) {
			licAct.setApellidoMaterno(licencia.getApellidoMaterno());
		}else {
			licAct.setApellidoMaterno(apellidoMaternoAc);
		}
		if(fechaObtAc.isEmpty() || fechaObtAc == null) {
			licAct.setFechaObtencion(licencia.getFechaObtencion());
		}else {
			java.util.Date dateObt = new SimpleDateFormat("dd-MM-yyyy").parse(fechaObtAc);
			java.sql.Date sqlDateObt = new java.sql.Date(dateObt.getTime());
			licAct.setFechaObtencion(sqlDateObt);
		}
		if(fechaExpAc.isEmpty()  || fechaExpAc == null) {
			licAct.setFechaExpiracion(licencia.getFechaExpiracion());
		}else {
			java.util.Date dateExp = new SimpleDateFormat("dd-MM-yyyy").parse(fechaExpAc);
			java.sql.Date sqlDateExp = new java.sql.Date(dateExp.getTime());
			licAct.setFechaExpiracion(sqlDateExp);
		}
		if(tipoLetraAc.isEmpty() || tipoLetraAc == null) {
			licAct.setTipoLetra(licencia.getTipoLetra());
		}else {
			licAct.setTipoLetra(tipoLetraAc);
		}
		
		licenciaDAO.actualizarLicencia(licAct);
		
		menuLicencia();
		}
	}
	
	public void eliminarLicenciaApp() {
		
		String idLicencia;
		System.out.println();
		System.out.println("Introducir ID Licencia y presionar Enter:");
		idLicencia = reader.next();
		licenciaDAO.eliminarLicencia(idLicencia);
		menuLicencia();
		
	}
	

}
  
  
  
   
  
   

La clase Principal
 
  
   
 package com.tutosoftware.autotransport.app;


import java.util.InputMismatchException;
import java.util.Scanner;

public class Principal {
	
	Scanner reader = new Scanner(System.in);
	int numero;
	
	

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Principal p = new Principal();
		p.menu();
		
	}
	
	public  void menu() {
		
		
		
		System.out.println("************************************************************");
		System.out.println("*                                                          *");
		System.out.println("*                                                          *");
		System.out.println("* Tutosofware            Mexican Transport                 *");
		System.out.println("* El menu es el siguiente:                                 *");
		System.out.println("* 1.Transportista                                          *");
		System.out.println("* 2.Licencia                                               *");
		System.out.println("* 3.Transporte                                             *");
		System.out.println("* 4.Viajes                                                 *");
		System.out.println("* 5.Salir                                                  *");
		System.out.println("************************************************************");
		System.out.println();
		System.out.println();
		
		
		try {
			System.out.println("Introduce un numero entero y presionar enter");
			numero=reader.nextInt();
		}catch(InputMismatchException ime) {
			System.out.println("¡Cuidado! Solo puedes insertar números. ");
		    reader.next();
		}
		
	    
		if(numero == 1) {
			TransportistaApp transportistaApp = new TransportistaApp(); 
		}
		else if(numero == 2) {
			LicenciaApp licenciaApp = new LicenciaApp();
		}
		else if(numero == 3) {
			TransporteApp transporteApp = new TransporteApp();
		}
		else if(numero == 4) {
			ViajesApp viajeApp = new ViajesApp();
		}
		else{
			try{

				  new ProcessBuilder("cmd", "/c", "pause").inheritIO().start().waitFor();
				  System.exit(0);


				}catch(Exception e){
				  /*maneja tus errores aquí*/
				}
		}
		    
		
		
       

		
		
		
	}
			
		
	
		
		
	} 
  
  
  
   
  
   

La clase TransporteApp
 
  
   
  package com.tutosoftware.autotransport.app;


import java.util.InputMismatchException;
import java.util.Scanner;

import com.tutosoftware.autotransport.dao.TransporteDAO;
import com.tutosoftware.autotransport.domain.Transporte;



public class TransporteApp {
	
	Scanner reader = new Scanner(System.in);
	int numero;
	TransporteDAO transporteDAO = new TransporteDAO();
	
	public TransporteApp() {
		try {
			new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
		} catch (Exception e) {
			/* No hacer nada */
		}
		
		menuTransporte();
		
	}
	
	public void menuTransporte() {
		
		System.out.println("************************************************************");
		System.out.println("*                                                          *");
		System.out.println("*                                                          *");
		System.out.println("* Tutosofware   TRANSPORTE        Mexican Transport        *");
		System.out.println("* El menu es el siguiente:                                 *");
		System.out.println("* 1.Insertar Transporte                                    *");
		System.out.println("* 2.Modificar  Transporte                                  *");
		System.out.println("* 3.Eliminar Transporte                                    *");
		System.out.println("* 4.Buscar  Trasporte por ID                               *");
		System.out.println("* 5.Listar Trasnsportes                                    *");
		System.out.println("* 6.Regresar a menú principal                              *");
		System.out.println("* 7.Salir aplicación                                       *");
		System.out.println("************************************************************");
		System.out.println();
		System.out.println();
		
		
		try {
			System.out.println("Introduce un numero entero y presionar enter");
			numero = reader.nextInt();
		} catch (InputMismatchException ime) {
			System.out.println("¡Cuidado! Solo puedes insertar números. ");
			reader.next();
		}

		if (numero == 1) {
			insertarTransporteApp();
			
		} else if (numero == 2) {
			modificarTransporteApp();
		} else if (numero == 3) {
			eliminarTransporteApp();
			
		}else if(numero == 4){
			buscarTransporteIdApp();
			
		}else if(numero ==5) {
			listarTrasportes();
		}else if (numero == 6) {
		
			try {
				new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
			} catch (Exception e) {
				/* No hacer nada */
			}
			Principal p = new Principal(); 
            p.menu();

		} else {
			try {

				new ProcessBuilder("cmd", "/c", "pause").inheritIO().start().waitFor();
				System.exit(0);

			} catch (Exception e) {
				/* maneja tus errores aquí */
			}
		}
		
		
		
		
		
		
	}
	
	public void insertarTransporteApp() {
		Transporte t = new Transporte();
		String matricula,marca,modelo,carga,tipoLicencia;
		
		System.out.println();
		System.out.println("Introducir Matrícula de Transporte y presionar Enter:");
		matricula = reader.next();
		System.out.println("Introducir Marca de Transporte y presionar Enter:");
		marca = reader.next();
		System.out.println("Introducir Modelo de Transporte y presionar Enter:");
		reader.nextLine();
		modelo = reader.nextLine();
		System.out.println("Introducir Capacidad de Carga del Transporte y presionar Enter:");
		carga = reader.nextLine();
		System.out.println("Introducir Tipo de Licencia del Transporte y presionar Enter:");
		tipoLicencia = reader.next();
		
		t.setMatricula(matricula);
		t.setMarca(marca);
		t.setModelo(modelo);
		t.setCarga(carga);
		t.setTipoLicencia(tipoLicencia);
		
		transporteDAO.insertarTrasporte(t);
		
		menuTransporte();
		
	}
	
	public void modificarTransporteApp() {
		
		Transporte t = new Transporte();
		Transporte tAc = new Transporte();
		String matriculaAc,marcaAc,modeloAc,cargaAc,tipoLicenciaAc,disponibilidadAc;
		int idTransporte;
		System.out.println();
		System.out.println("Introducir ID de tu transporte y presionar Enter:");
		idTransporte = reader.nextInt();
		t = transporteDAO.buscarTrasporte(idTransporte);
		if(t.getIdTrasporte() == 0) {
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			menuTransporte();
		}else {
			System.out.println("ID Trasporte: "+t.getIdTrasporte());
			System.out.println("Matrícula: "+t.getMatricula());
			System.out.println("Marca: "+t.getMarca());
			System.out.println("Modelo: "+t.getModelo());
			System.out.println("Carga: "+t.getCarga());
			System.out.println("Tipo Licencia: "+t.getTipoLicencia());
			System.out.println("Disponibilidad : "+t.getDisponibilidad());
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			System.out.println("Actualizar Matricula o presionar enter");
			matriculaAc=reader.nextLine();
			System.out.println("Actualizar Marca o presionar enter");
			marcaAc=reader.nextLine();
			System.out.println("Actualizar Modelo o presionar enter");
			modeloAc=reader.nextLine();
			System.out.println("Actualizar Carga o presionar enter");
			cargaAc=reader.nextLine();
			System.out.println("Actualizar Tipo Licencia  o presionar enter");
			tipoLicenciaAc=reader.nextLine();
			System.out.println("Actualizar Disponibilidad o presionar enter");
			disponibilidadAc=reader.nextLine();
			
			tAc.setIdTrasporte(t.getIdTrasporte());
			if(matriculaAc.isEmpty() || matriculaAc == null) {
				tAc.setMatricula(t.getMatricula());
			}else {
				tAc.setMatricula(matriculaAc);
			}
			if(marcaAc.isEmpty() || marcaAc == null) {
				tAc.setMarca(t.getMarca());
			}else {
				tAc.setMarca(marcaAc);
			}
			if(modeloAc.isEmpty() || modeloAc == null) {
				tAc.setModelo(t.getModelo());
			}else {
				tAc.setModelo(modeloAc);;
			}
			if(cargaAc.isEmpty() || cargaAc == null) {
				tAc.setCarga(t.getCarga());
			}else {
				tAc.setCarga(cargaAc);
			}
			if(tipoLicenciaAc.isEmpty() || tipoLicenciaAc == null) {
				tAc.setTipoLicencia(t.getTipoLicencia());
			}else {
				tAc.setTipoLicencia(tipoLicenciaAc);
			}
			if(disponibilidadAc.isEmpty() || disponibilidadAc == null) {
				tAc.setDisponibilidad(t.getDisponibilidad());
			}else {
				tAc.setDisponibilidad(disponibilidadAc);
			}
			
			transporteDAO.actualizarTransporte(tAc);
			
			menuTransporte();
			
		}
	}
	
	public void eliminarTransporteApp() {
		int idTransporte;
		System.out.println();
		System.out.println("Introducir ID Transporte y presionar Enter:");
		idTransporte = reader.nextInt();
		transporteDAO.eliminarTransporte(idTransporte);
		menuTransporte();
	}
	
	public void buscarTransporteIdApp() {
	
		Transporte t = new Transporte();
		int idTransporte;
		System.out.println();
		System.out.println("Introducir ID de tu transporte y presionar Enter:");
		idTransporte = reader.nextInt();
		t = transporteDAO.buscarTrasporte(idTransporte);
		if(t.getIdTrasporte() == 0) {
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			menuTransporte();
		}else {
			System.out.println("ID Trasporte: "+t.getIdTrasporte());
			System.out.println("Matrícula: "+t.getMatricula());
			System.out.println("Marca: "+t.getMarca());
			System.out.println("Modelo: "+t.getModelo());
			System.out.println("Carga: "+t.getCarga());
			System.out.println("Tipo Licencia: "+t.getTipoLicencia());
			System.out.println("Disponibilidad : "+t.getDisponibilidad());
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			menuTransporte();
			
		}
		
	}
	
	public void listarTrasportes() {
		 
	     transporteDAO.mostrarTransportes();
		
		
		reader.nextLine();
		System.out.println("Presiona Enter para Continuar");
		reader.nextLine();
		menuTransporte();
		
	}

}
  
  
  
  
   
  
   

La clase TransportistaApp
 
   
  package com.tutosoftware.autotransport.app;

import java.util.InputMismatchException;
import java.util.Scanner;

import com.tutosoftware.autotransport.dao.LicenciaDAO;
import com.tutosoftware.autotransport.dao.TransporteDAO;
import com.tutosoftware.autotransport.dao.TransportistaDAO;
import com.tutosoftware.autotransport.domain.Licencia;
import com.tutosoftware.autotransport.domain.Transporte;
import com.tutosoftware.autotransport.domain.Transportista;



public class TransportistaApp {
	
	Scanner reader = new Scanner(System.in);
	int numero;
	LicenciaDAO licenciaDAO = new LicenciaDAO();
	TransporteDAO transporteDAO = new TransporteDAO();
	TransportistaDAO transportistaDAO = new TransportistaDAO();
	
	public TransportistaApp() {
		try {
			new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
		} catch (Exception e) {
			/* No hacer nada */
		}
		menuTransportista();
	}
	
	public void menuTransportista() {
		
		System.out.println("************************************************************");
		System.out.println("*                                                          *");
		System.out.println("*                                                          *");
		System.out.println("* Tutosofware   TRANSPORTISTA        Mexican Transport     *");
		System.out.println("* El menu es el siguiente:                                 *");
		System.out.println("* 1.Insertar Transportista                                 *");
		System.out.println("* 2.Modificar  Transportista                               *");
		System.out.println("* 3.Eliminar Transportista                                 *");
		System.out.println("* 4.Buscar  Transportista por ID                           *");
		System.out.println("* 5.Listar Transportistas                                  *");
		System.out.println("* 6.Regresar a menú principal                              *");
		System.out.println("* 7.Salir aplicación                                       *");
		System.out.println("************************************************************");
		System.out.println();
		System.out.println();
		
		try {
			System.out.println("Introduce un numero entero y presionar enter");
			numero = reader.nextInt();
		} catch (InputMismatchException ime) {
			System.out.println("¡Cuidado! Solo puedes insertar números. ");
			reader.next();
		}

		if (numero == 1) {
			
			insertarTransportistaApp();
			
		} else if (numero == 2) {
			modificarTransportistaApp();
		
		} else if (numero == 3) {
			eliminarTransportistaApp();
		}else if(numero == 4){
			buscarTransportistaPorIdApp();
			
		}else if(numero ==5) {
			listarTransportistas();
		}else if (numero == 6) {
		
			try {
				new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
			} catch (Exception e) {
				/* No hacer nada */
			}
			Principal p = new Principal(); 
            p.menu();

		} else {
			try {

				new ProcessBuilder("cmd", "/c", "pause").inheritIO().start().waitFor();
				System.exit(0);

			} catch (Exception e) {
				/* maneja tus errores aquí */
			}
		}
		
		
		
		
	}
	
	/****************************************************************************
	 * Para insertar un transportista primero debe tener registrada su licencia
	 * como requisito obligatorio y luego para buscaarle asignar un transporte
	 * de acuerdo a su tipo de licencia sino cumple esos características no se puede
	 * registrar el transportista
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 */
	public void insertarTransportistaApp() {
		Transporte t = new Transporte();
		Licencia licencia = new Licencia();
		Transportista tr = new Transportista();
		String idLicencia,telefono;
		System.out.println();
		System.out.println("Introducir ID Licencia registrado y presionar Enter:");
		idLicencia = reader.next();
		licencia = licenciaDAO.buscarLicencia(idLicencia);
		if(licencia.getIdLicencia() == null) {
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			menuTransportista();
		}else {
			int verificaRegistros;
			verificaRegistros = transporteDAO.mostrarTransportePorTipoLicenciaDisponibilidad(licencia.getTipoLetra());
			if(verificaRegistros == 0) {
			
			reader.nextLine();
			System.out.println("No hay transportes Presiona Enter para Continuar");
			reader.nextLine();
			menuTransportista();
			}else {
				
				
				int idTransporte;
				System.out.println();
				System.out.println("Introducir ID de tu transporte y presionar Enter:");
				idTransporte = reader.nextInt();
				t = transporteDAO.buscarTrasporte(idTransporte,licencia.getTipoLetra());
				
				if(t.getIdTrasporte() == 0) {
					reader.nextLine();
					System.out.println("El transporte no existe Presiona Enter para Continuar");
					reader.nextLine();
					menuTransportista();
				}else {
					
					System.out.println("Introduce número telefonico y presiona enter");
					telefono = reader.next();
					
					tr.setIdTransporte(t.getIdTrasporte());
					tr.setIdLicencia(licencia.getIdLicencia());
					tr.setNombre(licencia.getNombre());
					tr.setApellidoPaterno(licencia.getApellidoPaterno());
					tr.setApellidoMaterno(licencia.getApellidoMaterno());
					tr.setTelefono(telefono);
					transportistaDAO.insertarTransportista(tr);
					menuTransportista();
					
				}
				
				
				
			}
		}
		
	}
	
	
	
	/* 
	 * Para la actualización del transportisa nada mas se va a modificar
	 * NOMBRE,APELLDO PATERNO,APELLIDO MATERNO y TELEFONO por
	 * que si modifcamos la licencia y transporte tendriamos que
	 * validar y eso haria mas compleja la pantalla de captura
	 * 
	 * para poder modifcar licencia y transporte se debe eliminar
	 * el transportis y volverlo a capturar.
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 */
	
	public void modificarTransportistaApp() {
		Transportista t = new Transportista();
		Transportista tAc = new Transportista();
		String nombreAc,apellidoPaternoAc,apellidoMaternoAc,telefonoAc;
		int idTransportista;
		System.out.println();
		System.out.println("Introducir ID de tu transportista y presionar Enter:");
		idTransportista = reader.nextInt();
		t = transportistaDAO.buscarTransportista(idTransportista);
		if(t.getIdTransportista() == 0) {
			reader.nextLine();
			System.out.println("No hay ese transportista con ese ID Presiona Enter para Continuar");
			reader.nextLine();
			menuTransportista();
		}else {
			
			System.out.println("ID Trasportista: "+t.getIdTransportista());
			System.out.println("ID trasporte: "+t.getIdTransporte());
			System.out.println("ID Licencia: "+t.getIdLicencia());
			System.out.println("Nombre: "+t.getNombre());
			System.out.println("Apellido Paterno: "+t.getApellidoPaterno());
			System.out.println("Apellido Materno: "+t.getApellidoMaterno());
			System.out.println("Telefono : "+t.getTelefono());
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			System.out.println("Actualizar Nombre o presionar enter");
			nombreAc=reader.nextLine();
			System.out.println("Actualizar Apellido Paterno o presionar enter");
			apellidoPaternoAc=reader.nextLine();
			System.out.println("Actualizar Apellido Materno o presionar enter");
			apellidoMaternoAc=reader.nextLine();
			System.out.println("Actualizar telefono o presionar enter");
			telefonoAc=reader.nextLine();
			
			tAc.setIdTransportista(t.getIdTransportista());
			if(nombreAc.isEmpty() || nombreAc == null) {
				tAc.setNombre(t.getNombre());
			}else {
				tAc.setNombre(nombreAc);
			}
			if(apellidoPaternoAc.isEmpty() || apellidoPaternoAc == null) {
				tAc.setApellidoPaterno(t.getApellidoPaterno());
			}else {
				tAc.setApellidoPaterno(apellidoPaternoAc);
			}
			if(apellidoMaternoAc.isEmpty() || apellidoMaternoAc == null) {
				tAc.setApellidoMaterno(t.getApellidoMaterno());
			}else {
				tAc.setApellidoMaterno(apellidoMaternoAc);
			}
			if(telefonoAc.isEmpty() || telefonoAc == null) {
				tAc.setTelefono(t.getTelefono());
			}else {
				tAc.setTelefono(telefonoAc);
			}
			
			transportistaDAO.actualizarTrasportista(tAc);
			
			menuTransportista();
			
			
		}
			
			
			
			
	}
	
	public void eliminarTransportistaApp() {
		
		int idTransportista;
		System.out.println();
		System.out.println("Introducir ID Transportista y presionar Enter:");
		idTransportista = reader.nextInt();
		transportistaDAO.eliminarTransportista(idTransportista);
		menuTransportista();
		
	}
	
	
	public void buscarTransportistaPorIdApp() {
		Transportista t = new Transportista();
		int idTransportista;
		System.out.println();
		System.out.println("Introducir ID de tu transportista y presionar Enter:");
		idTransportista = reader.nextInt();
		t = transportistaDAO.buscarTransportista(idTransportista);
		if(t.getIdTransportista() == 0) {
			reader.nextLine();
			System.out.println("No hay ese transportista con ese ID Presiona Enter para Continuar");
			reader.nextLine();
			menuTransportista();
		}else {
			
			System.out.println("ID Trasportista: "+t.getIdTransportista());
			System.out.println("ID trasporte: "+t.getIdTransporte());
			System.out.println("ID Licencia: "+t.getIdLicencia());
			System.out.println("Nombre: "+t.getNombre());
			System.out.println("Apellido Paterno: "+t.getApellidoPaterno());
			System.out.println("Apellido Materno: "+t.getApellidoMaterno());
			System.out.println("Telefono : "+t.getTelefono());
			reader.nextLine();
			System.out.println("Presiona Enter para Continuar");
			reader.nextLine();
			menuTransportista();
		}
	
		
	}
	
	public void listarTransportistas() {
		 transportistaDAO.mostrarTransportistas();
		 reader.nextLine();
		 System.out.println("Presiona Enter para Continuar");
		 reader.nextLine();
		 menuTransportista();
	 }
	
		
		
}
  
  
 
  
  
  
   
  
   

La clase ViajesApp
 
   
  package com.tutosoftware.autotransport.app;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.InputMismatchException;
import java.util.Scanner;

import com.tutosoftware.autotransport.dao.TransportistaDAO;
import com.tutosoftware.autotransport.dao.ViajeDAO;
import com.tutosoftware.autotransport.domain.Transportista;
import com.tutosoftware.autotransport.domain.Viaje;



public class ViajesApp {
	TransportistaDAO transportistaDAO = new TransportistaDAO();
	ViajeDAO viajeDAO = new ViajeDAO();
	Scanner reader = new Scanner(System.in);
	int numero;
	
	ViajesApp(){
		try {
			new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
		} catch (Exception e) {
			/* No hacer nada */
		}
		
		menuViajes();
	}
	
	public void menuViajes() {
		
		System.out.println("************************************************************");
		System.out.println("*                                                          *");
		System.out.println("*                                                          *");
		System.out.println("* Tutosofware      Viajes      Mexican Transport           *");
		System.out.println("* El menu es el siguiente:                                 *");
		System.out.println("* 1.Insertar Viaje                                         *");
		System.out.println("* 2.Listar   Viajes                                        *");
		System.out.println("* 3.Regresar Menu Pricipal                                 *");
		System.out.println("* 4.Salir    Apilcacion                                    *");
		System.out.println("************************************************************");
		System.out.println();
		System.out.println();

		try {
			System.out.println("Introduce un numero entero y presionar enter");
			numero = reader.nextInt();
		} catch (InputMismatchException ime) {
			System.out.println("¡Cuidado! Solo puedes insertar números. ");
			reader.next();
		}
		
	
	
	
	if (numero == 1) {
		try {
			insertarViajeApp();
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	} else if (numero == 2) {
		listarViajes();
		
	} else if (numero == 3) {
		try {
			new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
		} catch (Exception e) {
			/* No hacer nada */
		}
		Principal p = new Principal(); 
        p.menu();

	} else {
		try {

			new ProcessBuilder("cmd", "/c", "pause").inheritIO().start().waitFor();
			System.exit(0);

		} catch (Exception e) {
			/* maneja tus errores aquí */
		}
	}
    }
	
	public void insertarViajeApp() throws ParseException {
		String fecha,descripcion;
		Viaje v = new Viaje();
		Transportista t = new Transportista();
		int idTransportista;
		System.out.println();
		System.out.println("Introducir ID de tu transportista y presionar Enter:");
		idTransportista = reader.nextInt();
		t = transportistaDAO.buscarTransportista(idTransportista);
		if(t.getIdTransportista() == 0) {
			reader.nextLine();
			System.out.println("No hay ese transportista con ese ID Presiona Enter para Continuar");
			reader.nextLine();
			menuViajes();
		}else {
			System.out.println("Introducir Fecha de viaje ejemplo el formato es  30-01-2020 y presionae enter");
			fecha = reader.next();
			reader.nextLine();
			System.out.println("Introducir una descripción del viaje");
			descripcion=reader.nextLine();
			
			
			java.util.Date date = new SimpleDateFormat("dd-MM-yyyy").parse(fecha);
			java.sql.Date sqlDate = new java.sql.Date(date.getTime());
			
			v.setFecha(sqlDate);
			v.setIdTransporte(t.getIdTransporte());
			v.setIdTransportista(t.getIdTransportista());
			v.setNombre(t.getNombre());
			v.setApellidoPaterno(t.getApellidoPaterno());
			v.setApellidoMaterno(t.getApellidoMaterno());
			v.setDescripcion(descripcion);
			
			viajeDAO.insertarViaje(v);
			menuViajes();
			
		}
		
	}
	
	public void listarViajes() {
		
		viajeDAO.mostrarViajes();
		reader.nextLine();
		 System.out.println("Presiona Enter para Continuar");
		 reader.nextLine();
		 menuViajes();
	}
	  
	

}