Sunteți pe pagina 1din 27

DOCUMENTACINDELREGISTRODELPERSONALDE

EMPRESA
LasiguienteaplicacinestaconstruidaenellenguajedeprogramacinJAVAylabasededatosen
MYSQL, hemos escogido JAVA debido a que es un lenguaje de programacin muy potente,
ademsconstadelacaractersticadesermultiplataformasydeencontrarmuchadocumentacin
paralaelaboracindecualquieraplicacin,yhemosescogidolabasededatosMYSQLdebidoasu
facilinstalacinyutilizacin,ademsdesercodigolibre.
Estaaplicacinresolverelproblemadelregistromanualdelpersonaldecualquierempresaque
allutilizadoestasolucin.Seloresolveralproblemaconunsoftwarequelleveunregistrodela
asistenciadelpersonaldeunaformasencillayfcildeentenderalusuario,yademsleocupeel
menostiempoposible.
Lapantallaprincipalseraladeaccesodirectoalempleadoparasurespectivoregistrodeentrada
comodelasalida.

Este
software
consta de
un men
llamado
Archivos
el cual
tiene un
accesoala
ventanade
Administracin y uno de salida. Adems consta de una barra de acceso directo a la mismas
opcionesyunrelojparasupropiocontrol.

Alhacerclickeneliconoparalaventanadeadministracin
nosaparecelaanteriorventanaparaautentificarquesomoseladministradordeestesoftwareconlo
cualnosregistramoscomoadministrador,accediendoonegandoelusuario.Unavezautentificado
elusuariotenemosaccesoalaventanadeadministracin.

Enestaventanadeadministracintenemostambinunmenllamadoarchivoyunabarradeacceso
directoalasmismas opciones delmen,lasopcionessonlistar,registraryeliminar.Enesta
ventanadeadministracinhemoscreadoyunpanelinternoenelcualsevanabrirdentrodeeste
todasestasopcionesdeventanasyadichaslocualaramasfcildellevarelmanejodeestas.

Al
hacer
clicen
la el
icono
de
acceso
directo
listar
nosaparecelaanteriorventanametidadentrodelpaneldeadministracinestacontendrunlistado
de los empleados yparaobtener informacinsobresuasistenciahacemos clicsobrecualquier
nombrequequeramosaparecindonosmasinformacindetalladadetodassusasistenciasdentrodel
amismaventadelistar.

Acontinuacinsepresentalaventanapararegistrarunnuevoempleadolacualtambinvahaestar
enununpanelinternodentrodelaventanadeadministracinestapodrhaceraccedidomedianteel
men,registraromediantesuaccesodirecto

Acontinuacionsepresentalaventana

Enestaventanasevaingresarlosdatospersonalesdelempleado,paraguardarlosenlabasede
datosdeMYSQL
LaventanasiguienteeslaventanadeEliminarempleadolacual procederaeliminarcualquier
empleadomediantesunumerodecdula,podemosaccederaestaventanamediantemen,eliminar
omediantesuiconodeaccesodirectoenlabarradetareas

Lasiguienteeslaventanadeinformecualpuedeserimprimidaestapresentaelinformeingresando
losdatosdecdula,mesyaodelpagocorrespondientealmesquesevahacancelar

Ventanasadministracinconventanasinternas.

DOCUMENTACINDETODASLASCLASESAPLICADAS
Paradesarrollarestaaplicacinlaprimeraclasequecreefuelaclasesdelaconexinalabasede
datos deMYSQLparalocualmedescarguedeinternetlalibreraquecontrolalaconexina
MYSQL.
Parasumayorfacilidadhecreadounpaqueteendondesolopondrlasclasesquevoyhautilizary
apartelasclasesqueimplementaninterfazgrfica,ademsdeunpaqueteparatodaslasimgenes
queseutilice.
LaClaseConexion
/*LaprimeralineaimportalalibrerasqlparatrabajarconMYSQLysusrespectivassentencias
LaclaseConexionqueselavaautilizarpordefectolacualcontienelassiguientesvariablesque
seranestaticasydetipostringbdquecontieneelnombredelabasededatosparalaconexiona
esta,lavariabledelmismotipologinquecontieneelloginconelcuallaclaseConexionvahatener
accesoamysql,lavariablepassworddelmismotipoquevacontenerlaclavedeaccesoamysqly
porultimolavariableurlporlacualmysqlvahaescucharlaspeticionesaestayquevahaserdel
mismotipodelasanteriores
lavarialbleurlespecificaqueesunaconexinalabasededatosdemysqlporladireccinoip
127.0.0.1lacualesigualallocalhostyquevahaescucharlaspeticionesporelpuerto3306*/

importjava.sql.*;
publicclassConexion{
staticStringbd="resgistro_del_personal_empresarial";
staticStringlogin="root";
staticStringpassword="creedyeli1234";
staticStringurl="jdbc:mysql://127.0.0.1:3306/"+bd;
Connectionconn=null;/**CreaunanuevainstanciadelConexin*/
/*EnelconstructordelaclaseConexioncargalosdriversysehacelaconexinysehacepone
uncapturadordeposibleserroresoecepcionesylaimprimeenconsola*/
publicConexion(){
try{
//obtenemoseldriverdeparamysql
Class.forName("com.mysql.jdbc.Driver");
//obtenemoslaconexin
conn=DriverManager.getConnection(url,login,password);
if(conn!=null){
System.out.println("Coneccinabasededatos"+bd+"OK");
}else
System.out.println("Erroronectandoalabasededatos"+bd);
}catch(SQLExceptione){
System.out.println(e);
}catch(ClassNotFoundExceptione){
System.out.println(e);
}
}
/*ElmtodogetConexiondevuelveunobjetoConnectionqueespecificaquesehaconectado*/
publicConnectiongetConexion(){
returnconn;
}
/*estemtododesconectalaconexinquesehahechoalabasededatos*/
publicvoiddesconectar(){

conn=null;
System.out.println("Desconectado");
}
/*EsteesunmetodoquesirvedepruebaparalaclaseConexion*/
publicstaticvoidmain(Stringargs[]){
Conexionconec=newConexion();
}
}
LaClaseConecAdmin
/*Enestaclaseimportamoslalibrerasqlcontodassusclasesparatrabajartambienconlabasede
datos*/
importjava.sql.*;
/*Estaclasevahaconectarsealabasededatosyalastablaquecontienelosusuariosycontraseas
deadministracin.EnestaclasecreamosunobjetodetipoConexionelcualhacelaconexionala
basededatos*/
publicclassConecAdmin{
Conexionconec;
/**CreamoselcontructordelaclaseConecAdminlacualinicializalaconexin*/
publicConecAdmin(){
conec=newConexion();
}
/*Estemtodoretornasilosdatosdeusuarioycontraseasfueroncorrectosyestnalmacenados
enlatablaadministradores,estolohacemedianteladevolucindeunavariablebooleana
Enestemtodoresive2variablesdetipoStringlacualescontieneelusuarioyelpasswordha
compararconladelatabladeadministradorparaserautentificado*/
publicbooleancomparacion(Stringusuario,Stringpassw){
booleanaceptacion=false;
try{
/*crea una variable Statement que con la variable de tipo conexion van a permitir hacer las
consultashalatabla*/
Statementstm=conec.getConexion().createStatement();

/*conestasentenciaextraelosdatosdetodosloscamposdelatablaadministradoresyluegolos
extraeenunavariabledetipometadatosllamadaresultado,conlacualsevahaobtenerlosdatos
quenecesitamosparacompararelingresodeladministrador*/
ResultSetresultado=stm.executeQuery("SELECT*FROMadministradores");
ResultSetMetaDatametaDatos=resultado.getMetaData();
//Conestewhilerecorremoslatablafilaporfilalacualcadafilaesunusuarioadministrador
while(resultado.next()){
//lavariableiindicaelcampoenlatablademetadatos
inti=2;
/*imprimimosenconsolaquedatosestamossacandoparaestarseguros,ylosdatosquesaquemos
quedebenserelusuarioyelpasswordlosalmacenamosenunasvariablesdetipoStringusuabdy
passwbdlacual
System.out.println(resultado.getString(i)+resultado.getString(i+1));
Stringusuabd=resultado.getString(i);
Stringpasswbd=resultado.getString(i+1);
/*En este if comparamos si existe una coincidencia con algn usuario administrador si es la
autenticacin de usuario fue correcta, cambiamos la variable aceptacin por verdadero y
terminamoslabusquedayretornamoselvalor*/
if(usuabd.equals(usuario)&&passwbd.equals(passw)){
aceptacion=true;
break;
}else{
aceptacion=false;
}
}
}catch(SQLExceptione){
System.out.println(e);
}
if(aceptacion==true){
System.out.println("estanbienlascontraseas");
}else{

System.out.println("estanmallascontraseas");
}
returnaceptacion;
}
//Esteesunmetododepruebadelaclase
publicstaticvoidmain(Stringargs[]){
ConecAdminnuevo=newConecAdmin();
booleanver=false;
ver=nuevo.comparacion("admin","admin");
}
publicvoiddesconectar(){
conec.desconectar();
}
}

LaClaseNuevoEmpleado
//Importamoslaslibrerasdejavaquecontienelasclasesparatratarseconlasbasededatos
importjava.sql.*;
/*Estaclasecreaenlatabladeempleadosunnuevoempleado,elcualtienelainformacindeeste
lacualconsisteennombre,apellido,cdula,sexo,correo,direccin,areayhorasquevahaserpor
defectodeinicializacincero,ytodosdetipoprivate*/
/*AdemscreamosunobjetodetipoConexionparalaconexinalabasededatos
publicclassNuevoEmpleado{
privateStringnombre;
privateStringapellido;
privateintcedula;
privateStringhoras="0:0:0";
privateStringsexo;
privateStringcorreo;
privateStringdireccion;
privateStringarea;
Conexionconec;

/**Creamoselconstructordelaclaselacualrecibelosdatosquesevanhaingresarenlatabla
deempleados,peroanteslosguardamosenlasvariablesglobales*/
publicNuevoEmpleado(Stringnombre,Stringapellido,intcedula,Stringsexo,Stringcorreo,
Stringdireccion,Stringarea){
this.nombre=nombre;
this.apellido=apellido;
this.cedula=cedula;
this.correo=correo;
this.area=area;
this.sexo=sexo;
this.direccion=direccion;
conec=newConexion();
insertarEnTabla();
}

/*Estemtodoinserta enla tabla los datos delas variables globales declarados enlaclasede
acuerdoalordendelasentenciasql
publicvoidinsertarEnTabla(){
try{
//booleanaceptacion=false;
Statementstm=conec.getConexion().createStatement();
stm.executeUpdate("INSERTINTOempleados(nombres,apellidos,area,cedula,email,sexo,
direccion,horas)VALUES('"+this.nombre+"','"+this.apellido+"','"+this.area+"','"+this.cedula+
"','"+this.correo+"','"+this.sexo+"','"+this.direccion+"','"+this.horas+"')");
}catch(SQLExceptione){
System.out.println(e);
}
}
}
LaClaseEliminar
//Importamoslaslibrerasdejavaquecontienelasclasesparatratarseconlasbasededatos
importjava.sql.*;

/*LaclaseEliminarhaceesoeliminaelempleadodelatablaempleadosmedianteelnumerode
cdula.*/
/*Estaclasetieneunavariableglobalcdulalacualvahaalmacenarlacdulaparaluegoser
comparadaconlosdatosdelcamposcduladetablaempleadosiesigualaalgunodelosdatosde
esecampoloelimina.Conlasentenciasqlcomparamosyeliminamos*/
publicclassEliminar{
privateStringcedula;
Conexionconec;
/**CreatesanewinstanceofEliminar*/
publicEliminar(Stringcedula){
this.cedula=cedula;
conec=newConexion();
try{
//booleanaceptacion=false;
Statementstm=conec.getConexion().createStatement();
stm.executeUpdate("DELETEFROMempleadosWHEREcedula="+this.cedula);
}catch(SQLExceptione){
System.out.println(e);
}
}
}
LaClaseIngreso
/*Estaclasevahapermitirqueunempleadoregistretantosuhoradeingreso,digitandosunumero
decdulaparaestepropsito,capturalahoradelsistemaenelmomentodelregistroylaguardaen
latabladeregistro*/
importjava.sql.*;
importjavax.swing.JOptionPane;
publicclassIngreso{
intid;
Stringcedula;
inthora;
Stringfecha;

intminuto;
intsegundo;
Stringentrada;
Stringsalida="0:0:0",total="0:0:0";
Conexionconec=newConexion();
/**CreaunanuevainstanciadeIngreso*/
publicIngreso(Stringcedula,inthora,intminuto,intsegundo,Stringfecha){
this.cedula=cedula;
this.hora=hora;
this.minuto=minuto;
this.segundo=segundo;
this.entrada=hora+":"+minuto+":"+segundo;
this.fecha=fecha;
if(comprobarEmpleado()==true){
insertarEnTabla();
}else{
JOptionPane.showMessageDialog(null,"Sequiereregistrarunintruso","Alerta",1);
}
}
//Esteeselmetodoenelqueinsertamosenlatablaregistro
publicvoidinsertarEnTabla(){
try{
//booleanaceptacion=false;
Statementstm=conec.getConexion().createStatement();

stm.executeUpdate("INSERT INTO registro VALUES ('"+this.id+"

','"+this.cedula+"','"+this.fecha+"','"+this.entrada+"','"+this.salida+"','"+this.total+"')");
}catch(SQLExceptione){
System.out.println(e);
}
}
//Enestemetodocomprobamosqueelusuarioesteenlatabladeempleados,medianteelnumerode
//cedula,siconstaprocedeainsertar
publicbooleancomprobarEmpleado(){

booleanaceptacion=false;
try{
//booleanaceptacion=false;
Statementstm=conec.getConexion().createStatement();
ResultSetresultado=stm.executeQuery("SELECT*FROMempleados");
//StringBufferresultados=newStringBuffer();
ResultSetMetaDatametaDatos=resultado.getMetaData();
//intnumerodecolumnas=metaDatos.getColumnCount();
while(resultado.next()){
inti=4;
System.out.println(resultado.getString(i));
Stringcedulabd=resultado.getString(i);
//Stringpasswbd=resultado.getString(i+1);
if(cedulabd.equals(this.cedula)){
aceptacion=true;
break;
}else{
aceptacion=false;
}
}
}catch(SQLExceptione){
System.out.println(e);
}
returnaceptacion;
}
}
LaClaseSalida
/*Enestaclaseprocedemosaingresarelnumerodecedulaparacomprobarlasalidadel
empleado*/
importjava.sql.*;
publicclassSalida{
doubleTtotal2;
doubleTtotal;

Stringcedula;
privateinthora;
Stringfecha;
privateintminuto;
privateintsegundo;
Stringentrada;
privateStringsalida;
Stringtotal;
Stringcompara="00:00:00";
Conexionconec;
Calculo_ingreso_horas_totaltotalhoras;
publicSalida(Stringcedula,inthora,intminuto,intsegundo,Stringfecha){
this.cedula=cedula;
this.hora=hora;
this.minuto=minuto;
this.segundo=segundo;
this.salida=hora+":"+minuto+":"+segundo;
this.fecha=fecha;
conec=newConexion();
if(sacaDatos()==true){
totalhoras=newCalculo_ingreso_horas_total(this.entrada,this.hora,this.minuto,this.segundo);
this.total=totalhoras.subtotal();
actualizar();
}
}
/*Estemetodoverificaquelacedulasealacorrecta,yelcamposalidaestevaciodentrodelatabla
registro,pasaalmetodoactualizar*/
publicbooleansacaDatos(){
booleanaceptacion=false;
try{
Statementstm=conec.getConexion().createStatement();
ResultSetresultado=stm.executeQuery("SELECT*FROMregistro");

while(resultado.next()){
inti=2;
Stringcedulabd=resultado.getString(i);
Stringsalidabd=resultado.getString(i+3);
if(cedulabd.equals(this.cedula)&&salidabd.equals(this.compara)){
aceptacion=true;
this.entrada=resultado.getString(i+2);
break;
}else{
aceptacion=false;
}
}
}catch(SQLExceptione){
System.out.println(e);
}
returnaceptacion;
}
/*Enestemetodo,seactualizalosdatosdelultimoregistrodeunempleadoyademasenlatabla
empleadoshacequesesumelasnuevashorasingresadas,altotaldeltiempoacumuladoenel
campototaldelatablaempleados*/
publicvoidactualizar(){
try{
Statementstm=conec.getConexion().createStatement();
stm.executeUpdate("UPDATEregistroSETsalida='"+this.salida+"',total='"+this.total+"'
WHEREsalida='"+this.compara+"'ANDcedula='"+this.cedula+"'");
ResultSetresultado=stm.executeQuery("SELECT*FROMempleados");
while(resultado.next()){
inti=4;
Stringcedulabd=resultado.getString(i);
System.out.println(cedulabd);
if(cedulabd.equals(this.cedula)){
Ttotal2=Integer.parseInt(resultado.getString(8));
System.out.println(Ttotal2);

break;
}
}
this.Ttotal=totalhoras.horas()+Ttotal2;
System.out.println(Ttotal+""+Ttotal2);
stm.executeUpdate("UPDATE empleados SET horas='"+this.Ttotal+"' WHERE
cedula='"+this.cedula+"'");
}catch(SQLExceptione){
System.out.println(e);
}
}
}
LaClaseIngreso_horas_total
/*Enestaclase,sehaceelcalculodelashoras,minutosysegundosquenecesitalaclasesalida,y
ademastransformaesetiempoahoras*/
publicclassCalculo_ingreso_horas_total{
intThoras,Tminutos,Tsegundos,ME,SE,HE,aux;
Stringsubtotal;
/*EstemetodoextraerecibeunStringdelashorasdeentradayrecibelosdemasdatosdelahorade
salidacomoenteros,ylossumaparacalcularelnumerodehoras,minutosysegundosquerealizo
enesentradaysalida*/
publicCalculo_ingreso_horas_total(Stringentrada,inthora,intminuto,intsegundo){
HE=Integer.parseInt(entrada.substring(0,2));
ME=Integer.parseInt(entrada.substring(3,5));
SE=Integer.parseInt(entrada.substring(6,8));
System.out.println(HE+":"+ME+":"+SE);
System.out.println(hora+":"+minuto+":"+segundo);
if(segundo<SE){
segundo+=60;
minuto=1;
}
Tsegundos=(segundoSE);
if(minuto<ME){

minuto+=60;
hora=1;
}
Tminutos+=(minutoME);
Thoras+=(horaHE);
System.out.println(Thoras);
subtotal=Thoras+":"+Tminutos+":"+Tsegundos;
}
/*Este metodo retorna una variable tipo String la cual es el resultado del metodo
Calculo_Ingreso_horas_total*/
publicStringsubtotal(){
returnthis.subtotal;
}
/*Estemetodotransformalosminutosysegundosahorasylossumaenlavariablehoras*/
publicdoublehoras(){
doubletot;
tot=(double)Thoras+((double)Tminutos/60)+((double)Tsegundos/3600);
returntot;
}
}
LaClaseDbEmpleado
/*EstasentenciaimportalaslibreriasnecesariasparalautilizaciondelabasededatosSQL*/
importjava.sql.*;
/*EstaclaseseobtienenlosdatosdelatablaEmpleadoylosdatosdelatablaregistro*/
publicclassDbEmpleado{
Conexioncn;
/**ConstructordeDbUser*/
publicDbEmpleado(){
cn=newConexion();
}
/**Obtienelosdatospersonalesdeunempleadoporsunumerodecedula*/
publicObject[][]getHorasByEmpleado(Stringcod){
intregistros=0;

try{
Statementstm=cn.getConexion().createStatement();
PreparedStatementpstm=cn.getConexion().prepareStatement("SELECTcount(1)ascont"+
"FROMregistroa"+
"innerjoinempleadosn"+
"wheren.cedula=?");//lecambieel?porlacedulaparaprobar
pstm.setString(1,cod);
ResultSetres=pstm.executeQuery();

res.next();
registros=res.getInt("cont");
res.close();
}catch(SQLExceptione){
System.out.println("error1"+e);
}
/*Esteobjetoalmacenalosdatosdelastablascomounamatrizbidimensionalparaluegoser
presentadosenunJtable.ConlasentenciaSQLinnerjoinunimoslatablaempleadosyregistro,de
latablaempleadostomamoselapellidoydelatablaregistrotodoslosdatos*/
Object[][]data=newObject[registros][6];
try{
Statementstm=cn.getConexion().createStatement();

PreparedStatement pstm = cn.getConexion().prepareStatement("SELECT

empleados.apellidos,registro.cedula,registro.fecha,registro.entrada,registro.salida,registro.total
FROM registro inner join empleados ON registro.cedula=empleados.cedula where
empleados.cedula=?");
pstm.setString(1,cod);
ResultSetres=pstm.executeQuery();
inti=0;
while(res.next()){
StringasiApellido=res.getString("apellidos");
StringasiCedula=res.getString("cedula");

StringasiFecha=res.getString("fecha");
StringasiEntrada=res.getString("entrada");
StringasiSalida=res.getString("salida");
StringasiTotal=res.getString("total");
data[i][0]=asiApellido;
data[i][1]=asiCedula;
data[i][2]=asiFecha;
data[i][3]=asiEntrada;
data[i][4]=asiSalida;
data[i][5]=asiTotal;
i++;
}
res.close();
}catch(SQLExceptione){
System.out.println("error2"+e);
}
returndata;
}
/**traetodoslosempleados*/
/*Esteobjetolosutilizamoscomomatriz,primerosevanalamacenarlosdatosqueseobtienende
latabla,peroantesrealizaunconteodelasfilasdelatablaempleados*/
publicObject[][]getEmpleados(){
intregistros=0;
try{
Statementstm=cn.getConexion().createStatement();
PreparedStatementpstm=cn.getConexion().prepareStatement("SELECTcount(1)ascont
FROMempleados");
ResultSetres=pstm.executeQuery();
res.next();
registros=res.getInt("cont");
res.close();

}catch(SQLExceptione){
System.out.println(e);
}
Object[][]data=newObject[registros][4];
try{
Statementstm=cn.getConexion().createStatement();
PreparedStatementpstm=cn.getConexion().prepareStatement("SELECTnombres,"+
"apellidos,"+"cedula,"+"horas"+
"FROMempleados"+
"ORDERBYapellidos");
ResultSetres=pstm.executeQuery();
inti=0;
while(res.next()){
StringestNombre=res.getString("nombres");
StringestApellido=res.getString("apellidos");
Stringestcedula=res.getString("cedula");
Stringesthoras=res.getString("horas");
data[i][0]=estNombre;
data[i][1]=estApellido;
data[i][2]=estcedula;
data[i][3]=esthoras;
i++;
}
res.close();
}catch(SQLExceptione){
System.out.println(e);
}
returndata;
}
}
LaClaseBDInformeDatosGenerales
/*Eataclaseobtienelosdatosgeneralesparapresentarenelinformeimprimible,elcualtieneun

formatodesalidaquesealmacenaenunavariableString*/
importjava.sql.*;
publicclassBDInformeDatosGenerales{
Conexioncn;
publicBDInformeDatosGenerales(){
cn=newConexion();
}
publicStringgetDatosGenerales(Stringcedula){
Stringinforme="";
try{
Statementstm=cn.getConexion().createStatement();
ResultSetresultado=stm.executeQuery("SELECT*FROMempleados");
ResultSetMetaDatametaDatos=resultado.getMetaData();
while(resultado.next()){
inti=4;
Stringcedulabd=resultado.getString(i);
if(cedulabd.equals(cedula)){
informe+="\t El siguiente informe es para indicar los datos del siguiente
empleado:"+"\n\tNombre:"
+resultado.getString(1)+""+resultado.getString(2)+"\t\tCedula:"
+resultado.getString(4)+"\n\tSexo:"+resultado.getString(6)+"\t\t\tAreade
Trabajo:"
+resultado.getString(3)+"\n\tEmail:"+resultado.getString(5)
+"\tDireccin:"+resultado.getString(7)+"\n\tTotaldeHorasenlaEmpresa:"
+resultado.getString(8)+"\n"+"\n\tAcontinuacinsepresentaelinformedelmesy
surespectivopago.";
break;
}
}
}catch(SQLExceptione){
System.out.println(e);
}
returninforme;

}
}
LaClaseBDInformeRegistros
/*Estaclaseextraelosdatosdelatablaregistroquevanaserpresentadosenelinforme,losdatos
extradosvanaserseleccionadosmedianteelnumerodecduladelempleadoquesesolicita,y
mediantelafechaqueconstaenelmesyelaodelreporte*/
importjava.sql.*;
importjava.util.logging.Level;
importjava.util.logging.Logger;
publicclassBDInformeRegistros{
Conexioncn;
intmin=0,seg=0,hras=0;
publicBDInformeRegistros(){
cn=newConexion();
}
publicStringgetDatosRegistros(Stringcedula,Stringfchinicio,Stringfchfin){
Stringinforme="\n\tfecha"+"\t\tentrada"+"\t\tsalida"+"\t\ttotal"+"\n\n";
try{

Statement

stm

cn.getConexion().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Stringa= "SELECT*FROM registroWHEREcedula="+cedula+"ANDfecha
BETWEEN"+fchinicio+"AND"+fchfin;
System.out.println("SQL:"+a);
ResultSetresultado=stm.executeQuery(a);
while(resultado.next()){
System.out.println("Imprimedatos:"+resultado.getString("cedula"));
informe+="\t"+resultado.getString(3)+"\t"+resultado.getString(4)+"\t\t"+
resultado.getString(5)+"\t\t"+resultado.getString(6)+"\n";
}
informe+="\n";

System.out.println(informe);

}catch(SQLExceptionex){
Logger.getLogger(BDInformeRegistros.class.getName()).log(Level.SEVERE,null,ex);
}
returninforme;
}
/*Estemetodoproporcionauninformedelashorascalculadasduranteelmesespecificadoenlos
camposquerecibeypresentalashorasenformatodehora,minutosysegundos,ydesolohoras,
ademasdecalcularelpagoporhora,queesde2dolaresporhora*/
publicStringgetTotalHoras(Stringcedula,Stringfchinicio,Stringfchfin){
Stringinforme="000000";
try{

Statement

stm

cn.getConexion().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Stringa="SELECTtotalFROMregistroWHEREcedula="+cedula+"ANDfecha
BETWEEN"+fchinicio+"AND"+fchfin;
System.out.println("SQL:"+a);
ResultSetresultado=stm.executeQuery(a);
while(resultado.next()){
sumahorasmes(resultado.getString(1));
}
informe="\t\t\t\tT.enformatoHoras:"+"\t"+getTotalformatohoras()+"\n"
+"\t\t\t\tT.Horas:"+"\t"+getTotalHoras()+"\n";
doublesueldo=getTotalHoras()*2;
informe+="\t\t\t\tSueldoapagar"+"\t"+sueldo;
}catch(Exceptione){
System.out.println(e);
}
returninforme;
}
/*Estesumalashorasdelcampototaldelatablaregistroylasumaenvariablesdetipointlas

cualescontienenlashorasminutosysegundos*/
publicvoidsumahorasmes(Stringsumar){
intHE=Integer.parseInt(sumar.substring(0,2));
System.out.println(sumar.substring(0,2));
intME=Integer.parseInt(sumar.substring(3,5));
System.out.println(sumar.substring(3,5));
intSE=Integer.parseInt(sumar.substring(6,8));
System.out.println(sumar.substring(6,8));
this.min+=ME;
this.seg+=SE;
this.hras+=HE;
}
/*Estemetodo,ademasderetornaralmetodogetTotalHoraslashorasenformatohoras,minutos
ysegundos,detipoString,tambientransformalossegundosaminutosylosminutosahoras*/
publicStringgetTotalformatohoras(){
while(seg>60){
seg=60;
min++;
}
while(min>60){
min=60;
hras++;
}
Stringtfhras=hras+":"+min+":"+seg;
returntfhras;
}
/*Estemtododevuelveunavariabledoubledeformatohora*/

publicdoublegetTotalHoras(){
doubletot;
tot=(double)hras+((double)min/60)+((double)seg/3600);
returntot;

LaClaseImpresora
/*importamoslaslibreriasdeparaeltipodefuente,ylaslibreriasparaimpresin*/
importjava.awt.*;
/*Enestaclasevamos aponertodoslosdatos enunobjetotipoGraphics paraquedibujela
impresoraymedianteunobjetoPrintJobenviarleaimprimireltrabajo.
publicclassImpresora
{
Fontfuente=newFont("Dialog",Font.PLAIN,10);
PrintJobpj;
Graphicspagina;
/*A continuacin el constructor de la clase. Aqu lo nico que hago es tomar un objeto de
impresin.*/
publicImpresora()
{
pj=Toolkit.getDefaultToolkit().getPrintJob(newFrame(),"SCAT",null);
}
/*Acontinuacinelmtodo"imprimir(String)",elencargadode colocarenelobjetogrficola
cadenaqueselepasacomoparmetroyseimprime.*/
publicvoidimprimir(StringCadena)
{
/*LOCOLOCOENUNtry/catchPORQUEPUEDENCANCELARLAIMPRESION*/
try
{
pagina=pj.getGraphics();
pagina.setFont(fuente);
pagina.setColor(Color.black);
pagina.drawString(Cadena,60,60);
pagina.dispose();
pj.end();

}catch(Exceptione)
{
System.out.println("LAIMPRESIONHASIDOCANCELADA...");
}
}
//FINDELPROCEDIMIENTOimprimir(String...)
}//FINDELACLASEImpresora

S-ar putea să vă placă și