proyecto sicosetec 3 ra parcial final esteban maldonado

36
Instituto Tecnológico Superior de Informática “I T S I” Materia: Estructura de Datos Catedrático: Ingeniero Jorge Viveros Alumno: Esteban Maldonado Curso: 2do Sistemas Nocturno Proyecto Tercera Parcial Tema: Realización de una aplicación JAVA Nombre de la Aplicación: SICOSETEC (Sistema Integrado de Costeo de Servicios Técnicos) Agosto 2015

Upload: esteban-maldonado

Post on 19-Aug-2015

15 views

Category:

Education


3 download

TRANSCRIPT

Instituto Tecnológico Superior de Informática

“I T S I”

Materia: Estructura de Datos

Catedrático: Ingeniero Jorge Viveros

Alumno: Esteban Maldonado

Curso: 2do Sistemas Nocturno

Proyecto Tercera Parcial

Tema:

Realización de una aplicación JAVA

Nombre de la Aplicación:

SICOSETEC

(Sistema Integrado de Costeo de Servicios Técnicos)

Agosto 2015

2

INTRODUCCION

Hoy en la actualidad es necesario que cualquier emprendimiento o negocio

por más pequeño que este sea, cuente con herramientas informáticas de

información y control; para determinar si la finalidad financiera de éste marcha

dentro de lo planificado y dentro de una curva ascendente que demuestre que su

inversión es justificada por la utilidad generada en un lapso determinado de tiempo.

Desde mi punto de vista es importante mantener un control adecuado de los

ingresos relacionados con los servicios técnicos brindados por una empresa de

servicios, y en esta ocasión nos centraremos en un tipo de negocio que se dedique a

brindar servicios de asesoría técnica informática, mantenimiento y reparación de

equipos de computación tanto de escritorio como portátiles.

Estos negocios “Servicios Técnicos” tienen en su mayoría una administración

y control empíricas, o manuales, las mismas que dejan cosas pendientes como

plazos exactos de entrega, detalles del trabajo realizado y los costos exactos por

servicios. Claro que en el presente proyecto no nos dedicaremos al área de control

de los servicios técnicos prestados en sí, que sería un tema importante para futuros

proyectos.

Lo que nos compete en esta ocasión es controlar en este negocio el costo de

los servicios técnicos brindados en la oficina y fuera de ella, que de manera general

se desarrollan diariamente, para llevar un registro y de ser posible crear una base de

datos que organice y almacene los datos personales de clientes potenciales actuales

y futuros, asignando de forma ágil y oportuna valores exactos a los servicios;

estando estos mismos a permanente alcance del propietario o administrador del

negocio, como una base de datos muy necesaria para la “prospectación” la misma

que sea información útil para la toma de decisiones pertinentes y adecuadas que

promuevan el desarrollo y crecimiento del emprendimiento.

3

OBJETIVO

El objetivo de este proyecto es desarrollar una aplicación utilizando la

plataforma informática o lenguaje de programación Java, esta aplicación estará

orientada a ser utilizada diariamente por empresas pequeñas, medianas y grandes

que se dedican a brindar servicios de mantenimiento y reparación de computadoras

y equipos afines a la rama en general, como una herramienta para crear una base

de datos de clientes y costear adecuadamente los servicios que se brindará a los

mismos.

Java es un lenguaje ampliamente difundido y utilizado en un sin número de

aplicaciones y sitios web y cada día se crean más. El lenguaje Java es rápido,

seguro y fiable. Se utiliza en equipos portátiles hasta centros de datos, desde

consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta

Internet, Java está en todas partes y considero una herramienta óptima para

desarrollar esta aplicación.

Dicha aplicación permitirá al usuario de la misma almacenar datos personales

de los clientes que visitan sus oficinas diariamente, creando una base de datos muy

útil para la prospectación y manejo de clientes; además cotizar ágilmente el costo el

costo de un servicio técnico específico y comúnmente requerido, esta información es

importante tanto para el cliente como para el encargado de la oficina. Por ende el

objetivo para crear esta aplicación en proporcionar al usuario esta valiosa

“información” del costo de tal o cual servicio y permitirle obtener el “control” de la

misma; como herramienta fundamental para el desarrollo sostenido y crecimiento

constante de su empresa.

4

JUSTIFICACION

El desarrollo de este proyecto y aplicación utilizando el lenguaje de

programación Java para empresas de servicios técnicos computacionales y

asesoría informática, se justifica por la necesidad de brindar al usuario una

herramienta de información y control de los costos de los servicios técnicos que se

requieren, en el desarrollo de la actividad de un taller u oficina de “Servicio Técnico”,

así como la necesidad de crear y administrar de manera eficiente una base de datos

de clientes potenciales, anteriores, actuales y futuros, como principal combustible

para su empresa.

Esta aplicación se utilizará diariamente por la persona encargada de recibir a

los clientes, registrar sus datos, almacenarlos y cotizar de ,manera oportuna el

precio a pagar por los servicios que se brinda en la oficina o fuera de ella.

Designando al personal técnico que sale de la oficina para brindar servicio técnico a

domicilio.

Para el caso por ejemplo de un servicio técnico a domicilio, se cargará un

valor adicional considerado justo para cubrir gastos de movilización o transporte del

personal técnico. Siendo modificable por la distancia y el tiempo que requiera el

servicio técnico, incluso si en el sitio de trabajo se necesite materiales adicionales no

previstos, ya que este servicio brindado puede ser dentro o fuera de la ciudad,

incluso fuera de la provincia.

En la práctica se han presentado casos en este tipo de empresas, en donde

un servicio técnico de “cableado estructurado” o instalación de un sistema de

vigilancia mediante una “red de cámaras IP”, o una instalación y configuración de un

“cyber”, han llevado varios días, lo que conlleva a realizar egresos extras por

movilización, transporte, viáticos etc. Los mismos que es necesario que se controlen

exactamente y se recuperen en la facturación final y total del servicio técnico

realizado por el personal técnico de la empresa.

De aquí en adelante llamaremos a esta aplicación Java, Sistema Integrado

de Costeo de Servicios Técnicos “SICOSETEC”.

5

DESARROLLO

Para el desarrollo de esta aplicación utilizaremos varias herramientas que

vienen precargadas dentro de Java (Netbeans IDE 8.0.2), que es la plataforma

informática o lenguaje de programación que usaremos para crear el programa

SICOSETEC_2015 (Sistema Integrado de Costeo de Servicios Técnicos) aplicable a

empresas dedicadas a brindar servicio de soporte técnico, mantenimiento y

reparación de computadores, y venta de partes, piezas, accesorios y afines a su

rama de negocio.

Una vez creada la aplicación de consola en Java modo gráfico, con su

respectivo “package” y seleccionada la consola Java Frame Form, iniciaremos la

construcción de la aplicación.

Plataforma informática / Lenguaje de Programación Java (Netbeans IDE 8.0.2).

Es importante recalcar que todas las herramientas de este lenguaje en modo gráfico

se pueden, personalizar o modificar a gusto del programador, utilizando el campo de

“properties” “binding” “events” “code”, propiedades, unión, eventos, código, las

mismas que son características aplicables a las herramientas, por ejemplo: “label”,

“textfield”, “checkbutton”, “toogle button” etc, etc.

6

Herramientas Java (Modo Grafico) y sus propiedades.

Posteriormente al diseño adecuado y óptimo de la aplicación, en modo

gráfico se procede a modificar el texto y el nombre de la variable (variable name) de

las herramientas utilizadas en la construcción del “frame”, para posterior realizar la

escritura del código, que generará las acciones previstas del programa.

7

Java Frame Form (con herramientas personalizables)

8

Finalmente y realizando numerosas pruebas ediciones, modificaciones y

comprobaciones de la compilación del código de cada una de las herramientas

utilizadas en el frame, logramos obtener los eventos, acciones y cálculos previstos

en la aplicación Formulario SICOSETEC.

A continuación y como ilustración mostramos todo el código y las variables utilizadas

en el desarrollo de la aplicación.

DESARROLLO DEL CÓDIGO

package pckSicosetec;

import javax.swing.JOptionPane;

public class Formulario_SICOSETEC extends javax.swing.JFrame {

public Formulario_SICOSETEC() {

initComponents();

}

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();

buttonGroup2 = new javax.swing.ButtonGroup();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

tbtManba = new javax.swing.JToggleButton();

tbtForccr = new javax.swing.JToggleButton();

9

tbtForcsr = new javax.swing.JToggleButton();

chbJefet = new javax.swing.JCheckBox();

chbAsist = new javax.swing.JCheckBox();

jLabel7 = new javax.swing.JLabel();

lblMantb = new javax.swing.JLabel();

lblFcr = new javax.swing.JLabel();

lblFsr = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel11 = new javax.swing.JLabel();

lblResultado = new javax.swing.JLabel();

lblCargo = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

jLabel12 = new javax.swing.JLabel();

jLabel13 = new javax.swing.JLabel();

jLabel14 = new javax.swing.JLabel();

jLabel15 = new javax.swing.JLabel();

jLabel16 = new javax.swing.JLabel();

jLabel17 = new javax.swing.JLabel();

txtNom = new javax.swing.JTextField();

txtDir = new javax.swing.JTextField();

txtTelfs = new javax.swing.JTextField();

txtMail = new javax.swing.JTextField();

tbtGrab = new javax.swing.JToggleButton();

10

btnCont = new javax.swing.JButton();

jLabel18 = new javax.swing.JLabel();

txtCel = new javax.swing.JTextField();

jLabel19 = new javax.swing.JLabel();

txtCiud = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N

jLabel1.setForeground(new java.awt.Color(0, 51, 153));

jLabel1.setText(" S I C O S E T E C_2 0 1 5");

jLabel2.setForeground(new java.awt.Color(0, 0, 255));

jLabel2.setText("Costos de Servicios Técnicos");

jLabel3.setForeground(new java.awt.Color(0, 102, 204));

jLabel3.setText("Servicio en Oficina");

jLabel4.setForeground(new java.awt.Color(0, 102, 204));

jLabel4.setText("Servicio a Domicilio");

buttonGroup2.add(tbtManba);

tbtManba.setForeground(new java.awt.Color(0, 102, 204));

tbtManba.setText("Mantenimiento Básico (PC/Laptop)");

buttonGroup2.add(tbtForccr);

11

tbtForccr.setForeground(new java.awt.Color(0, 102, 204));

tbtForccr.setText("Formateo Completo (con respaldos)");

buttonGroup2.add(tbtForcsr);

tbtForcsr.setForeground(new java.awt.Color(0, 102, 204));

tbtForcsr.setText("Formateo Completo (sin respaldos)");

buttonGroup1.add(chbJefet);

chbJefet.setForeground(new java.awt.Color(0, 102, 204));

chbJefet.setText(" Jefe Técnico");

buttonGroup1.add(chbAsist);

chbAsist.setForeground(new java.awt.Color(0, 102, 204));

chbAsist.setText("Asistente Técnico");

jLabel7.setForeground(new java.awt.Color(0, 102, 204));

jLabel7.setText(" COSTO TOTAL SERVICIO TECNICO");

lblMantb.setForeground(new java.awt.Color(0, 102, 204));

lblMantb.setText("20");

lblFcr.setForeground(new java.awt.Color(0, 102, 204));

lblFcr.setText("30");

lblFsr.setForeground(new java.awt.Color(0, 102, 204));

lblFsr.setText("25");

12

jButton1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jButton1.setForeground(new java.awt.Color(0, 0, 153));

jButton1.setText("Calcular");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jButton2.setForeground(new java.awt.Color(0, 0, 153));

jButton2.setText("Salir");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jLabel11.setForeground(new java.awt.Color(0, 51, 153));

jLabel11.setText("( El recargo es:");

lblResultado.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

lblResultado.setForeground(new java.awt.Color(0, 0, 255));

lblResultado.setBorder(javax.swing.BorderFactory.createLineBorder(new

java.awt.Color(0, 0, 0)));

lblCargo.setForeground(new java.awt.Color(0, 51, 153));

13

lblCargo.setText(" 5");

jLabel9.setForeground(new java.awt.Color(0, 51, 153));

jLabel9.setText(" (Más recargo por transporte y viáticos )");

jLabel6.setForeground(new java.awt.Color(0, 51, 153));

jLabel6.setText(" USD - Precios NO incluyen 12% IVA)");

jLabel8.setForeground(new java.awt.Color(0, 102, 204));

jLabel8.setText("USD");

jLabel10.setForeground(new java.awt.Color(0, 102, 204));

jLabel10.setText("USD");

jLabel12.setForeground(new java.awt.Color(0, 102, 204));

jLabel12.setText("USD");

jLabel13.setForeground(new java.awt.Color(0, 0, 255));

jLabel13.setText("Datos Personales del Cliente");

jLabel14.setForeground(new java.awt.Color(0, 102, 204));

jLabel14.setText("Nombres / Apellidos");

jLabel15.setForeground(new java.awt.Color(0, 102, 204));

jLabel15.setText("Dirección del Domicilio");

jLabel16.setForeground(new java.awt.Color(0, 102, 204));

14

jLabel16.setText("Teléfono Convencional");

jLabel17.setForeground(new java.awt.Color(0, 102, 204));

jLabel17.setText("Correo Electrónico");

txtNom.setForeground(new java.awt.Color(0, 0, 51));

txtDir.setForeground(new java.awt.Color(0, 0, 51));

txtTelfs.setForeground(new java.awt.Color(0, 0, 51));

txtMail.setForeground(new java.awt.Color(0, 0, 51));

tbtGrab.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

tbtGrab.setForeground(new java.awt.Color(0, 0, 153));

tbtGrab.setText("Grabar");

btnCont.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

btnCont.setForeground(new java.awt.Color(0, 0, 153));

btnCont.setText("Verificar Datos");

btnCont.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnContActionPerformed(evt);

}

});

jLabel18.setForeground(new java.awt.Color(0, 102, 204));

15

jLabel18.setText("Celular");

txtCel.setForeground(new java.awt.Color(0, 0, 51));

jLabel19.setForeground(new java.awt.Color(0, 102, 204));

jLabel19.setText("Ciudad de Residencia");

txtCiud.setForeground(new java.awt.Color(0, 0, 51));

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jLabel1,

javax.swing.GroupLayout.PREFERRED_SIZE, 184,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(327, 327, 327))

.addGroup(layout.createSequentialGroup()

.addGap(108, 108, 108)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

16

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR

AILING)

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel17,

javax.swing.GroupLayout.PREFERRED_SIZE, 110,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(txtMail,

javax.swing.GroupLayout.PREFERRED_SIZE, 266,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel14,

javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.PREFERRED_SIZE, 162,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel16,

javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.PREFERRED_SIZE, 134,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(jLabel15,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING, false)

17

.addComponent(txtDir)

.addComponent(txtNom)

.addGroup(layout.createSequentialGroup()

.addComponent(txtTelfs,

javax.swing.GroupLayout.PREFERRED_SIZE, 92,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel18,

javax.swing.GroupLayout.PREFERRED_SIZE, 47,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtCel,

javax.swing.GroupLayout.PREFERRED_SIZE, 106,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(txtCiud,

javax.swing.GroupLayout.PREFERRED_SIZE, 124,

javax.swing.GroupLayout.PREFERRED_SIZE))))

.addGap(315, 315, 315))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addComponent(lblResultado,

javax.swing.GroupLayout.PREFERRED_SIZE, 275,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2,

javax.swing.GroupLayout.PREFERRED_SIZE, 223,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel3,

javax.swing.GroupLayout.PREFERRED_SIZE, 125,

javax.swing.GroupLayout.PREFERRED_SIZE)

18

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addComponent(chbJefet))

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel4,

javax.swing.GroupLayout.PREFERRED_SIZE, 125,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addComponent(chbAsist,

javax.swing.GroupLayout.PREFERRED_SIZE, 121,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel11,

javax.swing.GroupLayout.PREFERRED_SIZE, 85,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(lblCargo,

javax.swing.GroupLayout.PREFERRED_SIZE, 18,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addComponent(jLabel6,

javax.swing.GroupLayout.PREFERRED_SIZE, 221,

javax.swing.GroupLayout.PREFERRED_SIZE))

19

.addComponent(jLabel9,

javax.swing.GroupLayout.PREFERRED_SIZE, 234,

javax.swing.GroupLayout.PREFERRED_SIZE))))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR

AILING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING, false)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addComponent(tbtForccr,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(tbtForcsr,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGap(33, 33, 33)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING, false)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addComponent(lblFsr)

20

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel12))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addComponent(lblFcr,

javax.swing.GroupLayout.PREFERRED_SIZE, 16,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel10))))

.addGroup(layout.createSequentialGroup()

.addComponent(tbtManba,

javax.swing.GroupLayout.PREFERRED_SIZE, 240,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(31, 31, 31)

.addComponent(lblMantb,

javax.swing.GroupLayout.PREFERRED_SIZE, 18,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel8)))

.addComponent(jLabel7,

javax.swing.GroupLayout.PREFERRED_SIZE, 240,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addComponent(jButton2,

javax.swing.GroupLayout.PREFERRED_SIZE, 118,

javax.swing.GroupLayout.PREFERRED_SIZE)

21

.addComponent(jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE, 118,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addGap(0, 0, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR

AILING)

.addComponent(btnCont,

javax.swing.GroupLayout.PREFERRED_SIZE, 121,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(tbtGrab,

javax.swing.GroupLayout.PREFERRED_SIZE, 121,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addComponent(jLabel13,

javax.swing.GroupLayout.PREFERRED_SIZE, 178,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel19,

javax.swing.GroupLayout.PREFERRED_SIZE, 133,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(0, 0, Short.MAX_VALUE)))

.addGap(111, 111, 111))))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addContainerGap()

22

.addComponent(jLabel1,

javax.swing.GroupLayout.PREFERRED_SIZE, 41,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(4, 4, 4)

.addComponent(jLabel13)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel14)

.addComponent(txtNom,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel19)

.addComponent(txtCiud,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(14, 14, 14)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel15)

.addComponent(txtDir,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

23

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel16)

.addComponent(txtTelfs,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel18)

.addComponent(txtCel,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(txtMail,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel17))

.addComponent(tbtGrab))

.addGap(18, 18, 18)

.addComponent(btnCont)

.addGap(11, 11, 11)

24

.addComponent(jLabel2)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel3)

.addComponent(chbJefet))

.addGap(12, 12, 12)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel4)

.addComponent(chbAsist)

.addComponent(jLabel9))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel11)

.addComponent(lblCargo,

javax.swing.GroupLayout.PREFERRED_SIZE, 24,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel6))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(tbtManba,

javax.swing.GroupLayout.PREFERRED_SIZE, 23,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(lblMantb)

25

.addComponent(jLabel8))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(tbtForccr,

javax.swing.GroupLayout.PREFERRED_SIZE, 24,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(lblFcr)

.addComponent(jLabel10))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(tbtForcsr,

javax.swing.GroupLayout.PREFERRED_SIZE, 23,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(lblFsr)

.addComponent(jLabel12)

.addComponent(jButton1))

.addGap(30, 30, 30)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(jLabel7)

.addComponent(jButton2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED

)

26

.addComponent(lblResultado,

javax.swing.GroupLayout.PREFERRED_SIZE, 26,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(67, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

dispose(); // TODO add your handling code here:

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

double manten_bas=0;

double forcomconres=0;

double forcomsinres=0;

double costoadi;

double totalserv;

double cargo=5;

double iva;

double sinrec;

manten_bas = Double.parseDouble(lblMantb.getText());

forcomconres = Double.parseDouble(lblFcr.getText());

forcomsinres = Double.parseDouble(lblFsr.getText());

27

String mensaje= " ";

if(chbJefet.isSelected()||chbAsist.isSelected())

{

if (chbJefet.isSelected())

{

if (tbtManba.isSelected()|| tbtForccr.isSelected() ||

tbtForcsr.isSelected())

{

costoadi= 0;

if (tbtManba.isSelected())

{

costoadi = costoadi + manten_bas;

}

if (tbtForccr.isSelected())

{

costoadi = costoadi + forcomconres;

}

if (tbtForcsr.isSelected())

{

costoadi = costoadi + forcomsinres;

}

28

iva= costoadi*0.12;

costoadi = costoadi+iva;

lblResultado.setText(" Valor a Cancelar " + costoadi + " USD

Incluye 12% IVA");

JOptionPane.showMessageDialog(this, "No se recargó ningún

valor adicional");

JOptionPane.showMessageDialog(this, "El valor a cancelar es:

"+costoadi+" USD");

}

else

{

JOptionPane.showMessageDialog(this, "Atención!\n Ud no

seleccionó ninguna opción \n Por favor ingrese el tipo de servicio técnico que

desea");

}

}

if (chbAsist.isSelected()) {

costoadi= cargo;

if (tbtManba.isSelected()|| tbtForccr.isSelected() ||

tbtForcsr.isSelected())

{

if (tbtManba.isSelected())

{

29

costoadi = costoadi + manten_bas;

}

if (tbtForccr.isSelected())

{

costoadi = costoadi + forcomconres;

}

if (tbtForcsr.isSelected())

{

costoadi = costoadi + forcomsinres;

}

iva= costoadi*0.12;

costoadi = costoadi+iva;

lblResultado.setText(" Valor a Cancelar " + costoadi + " USD

Incluye 12% IVA");

JOptionPane.showMessageDialog(this, " Se cargó 5 usd más por

concepto de transporte");

JOptionPane.showMessageDialog(this, "El valor a cancelar es:

"+costoadi+" USD");

}

else

{

JOptionPane.showMessageDialog(this, "Atención!\n Ud. no

seleccionó ninguna opción \n Por favor ingrese el tipo de servicio técnico que

desea");

}

}

}

else

30

{

cargo=0;

JOptionPane.showMessageDialog(this, "Atención!\n Ud. no

seleccionó ninguna opción \n Por favor ingrese una opción");

}

}

private void btnContActionPerformed(java.awt.event.ActionEvent evt) {

String Nombre;

String Dire;

String Telfs;

String Mail;

String Texto;

String Ciudad;

String Telf2;

Nombre = (txtNom.getText());

Ciudad = (txtCiud.getText());

Dire = (txtDir.getText());

Telfs = (txtTelfs.getText());

Telf2 = (txtCel.getText());

Mail = (txtMail.getText());

if (tbtGrab.isSelected())

{

Texto = Nombre;

31

Texto = Ciudad;

Texto = Dire;

Texto = Telfs;

Texto = Telf2;

Texto = Mail;

}

JOptionPane.showMessageDialog(this, "Datos del Cliente: \n"+Nombre

+"\n"+Ciudad+"\n"+Dire+"\n"+Telfs+"\n"+Telf2+"\n"+Mail);

// TODO add your handling code here:

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code

(optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default

look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

32

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Formulario_SICOSETEC.class.getName()).lo

g(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Formulario_SICOSETEC.class.getName()).lo

g(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Formulario_SICOSETEC.class.getName()).lo

g(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Formulario_SICOSETEC.class.getName()).lo

g(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Formulario_SICOSETEC().setVisible(true);

}

});

33

}

// Variables declaration - do not modify

private javax.swing.JButton btnCont;

private javax.swing.ButtonGroup buttonGroup1;

private javax.swing.ButtonGroup buttonGroup2;

private javax.swing.JCheckBox chbAsist;

private javax.swing.JCheckBox chbJefet;

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel16;

private javax.swing.JLabel jLabel17;

private javax.swing.JLabel jLabel18;

private javax.swing.JLabel jLabel19;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

34

private javax.swing.JLabel jLabel9;

private javax.swing.JLabel lblCargo;

private javax.swing.JLabel lblFcr;

private javax.swing.JLabel lblFsr;

private javax.swing.JLabel lblMantb;

private javax.swing.JLabel lblResultado;

private javax.swing.JToggleButton tbtForccr;

private javax.swing.JToggleButton tbtForcsr;

private javax.swing.JToggleButton tbtGrab;

private javax.swing.JToggleButton tbtManba;

private javax.swing.JTextField txtCel;

private javax.swing.JTextField txtCiud;

private javax.swing.JTextField txtDir;

private javax.swing.JTextField txtMail;

private javax.swing.JTextField txtNom;

private javax.swing.JTextField txtTelfs;

// End of variables declaration

}

USO DE LA APLICACIÓN SICOSETEC_2015

DETALLE

1) Ingresamos los Datos personales del Cliente.

2) Grabamos y Verificamos esta Información.

3) Seleccionamos la persona en cargada de realizar el Servicio Técnico y el sitio

de trabajo.

4) Seleccionamos el tipo de Servicio Técnico(Costo precargados)

5) Verificamos si por el sitio de trabajo existe o no recargo adicional

6) Obtenemos el resultado del Costo (ya incluido el 12% IVA)

7) Salimos de la aplicación.

35

DESARROLLO DE LA APLICACIÓN “SICOSETEC_2015” TERMINADA

COMPILACION

36