1742 lines
60 KiB
Plaintext
1742 lines
60 KiB
Plaintext
{
|
|
------------------------------------------------------------------------
|
|
PROGRAMA : PRPRRP003
|
|
OBJETIVO : LISTAR FORMULARIO REPORTE PRODUCCION POR TIPO DE PILA
|
|
COMENTARIOS : ESTE REPORTE ES MUY PARTICULAR. HAY UNAS VARIABLES PARA
|
|
QUE EL DISENO DE ESTE REPORTE ESTE IGUAL AL REQUERIDO POR
|
|
EL USUARIO.
|
|
LAS VARIABLES SON:
|
|
ID - EL REPORTE ESTA DIVIDIDO EN
|
|
3 PARTES. LA 1RA PARTE ES HASTA
|
|
LAS HORAS EXTRAS INDIRECTAS DEL
|
|
DEPARTAMENTO -A-.
|
|
LA 2DA PARTE ES HASTA HORAS EXTRAS
|
|
DIRECTAS EMP. ESPECIAL
|
|
LA 3RA PARTE ES HASTA EL FINAL.
|
|
ESTA VARIABLE TOMA DOS VALORES:
|
|
1- CUBRE LA 1RA Y 2DA PARTE,
|
|
2- LA 3RA PARTE.
|
|
|
|
NUM - ESTA IDENTIFICA LA DESCRIPCION
|
|
GENERAL DE UN DEPARTAMENTO
|
|
ESPECIFICO. ESTOS CODIGOS SON:
|
|
|
|
1- HORAS NORMALES DIRECTAS
|
|
2- HORAS NORMALES INDIRECTAS
|
|
3- HORAS EXTRAS DIRECTAS
|
|
4- HORAS EXTRAS INDIRECTAS
|
|
5- PERSONAL DE
|
|
6- HORAS ADM.
|
|
7- PRODUCCION
|
|
CONTROL - ESTE ES EL ORDEN DENTRO DE LOS DE
|
|
LA VARIABLE NUM.
|
|
T_CONTROL - ESTE ES EL ORDEN QUE LOS RENGLONES
|
|
O SEA LOS 1- HORAS EXTRAS, ETC.
|
|
SE PRESENTARAN EN EL REPORTE
|
|
|
|
ESTE REPORTE BUSCA POR CADA RENGLON PRESENTADO EN EL, LAS
|
|
INFORMACIONES. ES DECIR, QUE SI VOY A BUSCAR LAS HORAS DIRECTAS
|
|
DEL DEPARTAMENTO -A- HAY UN SELECT DENTRO DE UN LOOP DE LOS DIAS.
|
|
PROGRAMADOR : Juan F. Soto
|
|
FECHA : Septiembre 22, 1994
|
|
------------------------------------------------------------------------
|
|
}
|
|
GLOBALS
|
|
"prprgb000.4gl"
|
|
DEFINE pilas RECORD LIKE intb00001.*
|
|
DEFINE dia1,fecha1,fecha2 DATE
|
|
DEFINE no_semana SMALLINT
|
|
DEFINE primera CHAR(1)
|
|
|
|
DEFINE arreglo ARRAY[5,8] OF RECORD
|
|
nombre CHAR(15),
|
|
sabado DECIMAL (12,2),
|
|
domingo DECIMAL (12,2),
|
|
lunes DECIMAL (12,2),
|
|
martes DECIMAL (12,2),
|
|
miercoles DECIMAL (12,2),
|
|
jueves DECIMAL (12,2),
|
|
viernes DECIMAL (12,2)
|
|
END RECORD
|
|
|
|
FUNCTION prprrp003()
|
|
DEFINE dpto CHAR(13)
|
|
DEFINE p_horas,k_horas DECIMAL(8,2)
|
|
DEFINE id,t_control,num SMALLINT
|
|
DEFINE control CHAR(2)
|
|
DEFINE dias1 DATE
|
|
|
|
OPTIONS
|
|
ERROR LINE 24,
|
|
FORM LINE 8
|
|
|
|
OPEN FORM prfmrp003 FROM "prfmrp003"
|
|
DISPLAY FORM prfmrp003
|
|
CALL pantalla()
|
|
DISPLAY "prprrp003" AT 4,3
|
|
DISPLAY "Resumen Semanal de Produccion" AT 6,25
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
|
|
# Entrada del numero de semana correspondiente al periodo que el usuario quiera
|
|
# este control es para tener consistencia en la informacion de las fechas
|
|
INPUT BY NAME no_semana
|
|
AFTER FIELD no_semana
|
|
# Chequea que el codigo del numero de la semana este en la tabla donde estan
|
|
# almacenadas
|
|
SELECT semana_del,semana_al INTO fecha1,fecha2
|
|
FROM prtb00002
|
|
WHERE num_semana = no_semana
|
|
|
|
IF status = notfound THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD no_semana
|
|
END IF
|
|
DISPLAY BY NAME fecha1,fecha2
|
|
END INPUT
|
|
|
|
# Cancela operacion
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
START REPORT reporte_3 TO "C:\\archivo"
|
|
LET primera = "S"
|
|
# Loop para buscar informacion diaria de las horas normales
|
|
LET dia1 = fecha1
|
|
LET id = 1
|
|
FOR idx =1 TO 7
|
|
# Busqueda de las k_horas directas de los empleados
|
|
|
|
# Empleados en depto 'A' (Horas normales Directas)
|
|
LET k_horas = 0
|
|
SELECT SUM(a.h_directa) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "A" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "A"
|
|
LET num = 1
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'B+C' (Horas normales Directas)
|
|
SELECT SUM(a.h_directa) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
a.departamento != 6114 and b.tipo = "B+C" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "B+C"
|
|
LET num = 1
|
|
LET control = "B1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'D' (Horas normales Directas)
|
|
SELECT SUM(a.h_directa) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "D" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "D"
|
|
LET num = 1
|
|
LET control = "D1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#==========================================================================
|
|
# Loop para buscar informacion diaria de las horas normales indirectas
|
|
LET dia1 = fecha1
|
|
FOR idx =1 TO 7
|
|
# Busqueda de las horas directas de los empleados
|
|
|
|
# Empleados en depto 'A' (HORAS NORMALES INDIRECTAS)
|
|
SELECT SUM(a.h_indirecta) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "A" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "A"
|
|
LET num = 2
|
|
LET control = "A2"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'B+C' (HORAS NORMALES INDIRECTAS)
|
|
SELECT SUM(a.h_indirecta) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
a.departamento != 6114 and b.tipo = "B+C" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "B+C"
|
|
LET num = 2
|
|
LET control = "B2"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'D' (HORAS NORMALES INDIRECTAS)
|
|
SELECT SUM(a.h_indirecta) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "D" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "D"
|
|
LET num = 2
|
|
LET control = "D2"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#==========================================================================
|
|
# Loop para buscar informacion dia1ria de las HORAS EXTRAS DIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx =1 TO 7
|
|
# Busqueda de las k_horas directas de los empleados
|
|
|
|
# Empleados en depto 'A' (HORAS EXTRAS)
|
|
SELECT SUM(a.e_directa) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "A" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "A"
|
|
LET num = 3
|
|
LET control = "A3"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'B+C' (HORAS EXTRAS)
|
|
SELECT SUM(a.e_directa) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
a.departamento != 6114 and b.tipo = "B+C" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "B+C"
|
|
LET num = 3
|
|
LET control = "B3"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'D' (HORAS EXTRAS)
|
|
SELECT SUM(a.e_directa) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "D" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "D"
|
|
LET num = 3
|
|
LET control = "D3"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
#===========================================================================
|
|
# Loop para buscar informacion dia1ria de las HORAS EXTRAS INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx =1 TO 7
|
|
# Busqueda de las horas indirectas de los empleados
|
|
|
|
# Empleados en depto 'A' (HORAS EXTRAS)
|
|
SELECT SUM(a.e_indirecta) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "A" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "A"
|
|
LET num = 4
|
|
LET control = "A4"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'B+C' (HORAS EXTRAS)
|
|
SELECT SUM(a.e_indirecta) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
a.departamento != 6114 and b.tipo = "B+C" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "B+C"
|
|
LET num = 4
|
|
LET control = "B4"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
# Empleados en depto 'D' (HORAS EXTRAS)
|
|
SELECT SUM(a.e_indirecta) INTO k_horas
|
|
FROM cttb00003 a,prtb00004 b
|
|
WHERE a.departamento = b.departamento and a.fecha = dia1 and
|
|
b.tipo = "D" and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "D"
|
|
LET num = 4
|
|
LET control = "D4"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
{
|
|
=============================================================================
|
|
2DA PARTE DEL PROGRAMA PARA BUSCAR LOS DEPARTAMENTOS:
|
|
MANTENIMIENTO,SERV. GENERALES, RECUPERACION, EMP. ESPECIAL
|
|
==============================================================================
|
|
}
|
|
# Busqueda del departamento MANTENIMIENTO
|
|
# HORAS NORMALES
|
|
# HORAS NORMALES INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.hn_ind) INTO k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento in (6200,6400) and a.fecha = dia1 and
|
|
a.departamento = b.departamento and
|
|
a.num_emp = b.num_emp and
|
|
b.nivel_emp != 2 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "MANTENIMIENTO"
|
|
LET num = 10
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# HORAS NORMALES INDIRECTAS SERV. GENERALES
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.hn_ind) INTO k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento = 6500 and
|
|
a.num_emp = b.num_emp and
|
|
b.nivel_emp not in (2) and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "SERV. GENERALES"
|
|
LET num = 10
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
# HORAS EXTRAS INDIRECTAS
|
|
# CONTROL CALIDAD
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
|
|
SELECT SUM(a.he_ind) INTO k_horas FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento = 6300 and b.departamento = 6300 and
|
|
a.num_emp = b.num_emp and b.nivel_emp != 1 and
|
|
a.fecha = dia1 and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "CONT. CALIDAD"
|
|
LET num = 11
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# HORAS NORMALES INDIRECTAS
|
|
# CONTROL CALIDAD
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
|
|
SELECT SUM(a.hn_ind) INTO k_horas FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento = 6300 and b.departamento = 6300 and
|
|
a.num_emp = b.num_emp and b.nivel_emp != 1 and
|
|
a.fecha = dia1 and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "CONT. CALIDAD"
|
|
LET num = 10
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# HORAS EXTRAS INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.he_ind) INTO k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento in (6200,6400) and a.num_emp = b.num_emp and
|
|
b.nivel_emp != 2 and a.fecha = dia1 and a.status_t is null
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "MANTENIMIENTO"
|
|
LET num = 11
|
|
LET control = "B1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# HORAS EXTRAS INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.he_ind) INTO k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento = 6500 and a.num_emp = b.num_emp and
|
|
b.nivel_emp != 2 and a.fecha = dia1 and a.status_t is null
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "SERV. GENERALES"
|
|
LET num = 11
|
|
LET control = "B1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
#Busqueda del departamento RECUPERACION
|
|
# HORAS NORMALES INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.h_indirecta) INTO k_horas
|
|
FROM cttb00003 a
|
|
WHERE a.departamento = 6114 and a.fecha = dia1 and
|
|
a.status_t is null
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "RECUPERACION"
|
|
LET num = 10
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# HORAS EXTRAS INDIRECTAS
|
|
# RECUPERACION
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.e_indirecta) INTO k_horas
|
|
FROM cttb00003 a
|
|
WHERE a.departamento = 6114 and a.fecha = dia1 and
|
|
a.status_t is null
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
LET dpto = "RECUPERACION"
|
|
LET num = 11
|
|
LET control = "B1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#--------------------------------------------------------------------------
|
|
#DEPARTAMENTO RECUPERACION
|
|
# HORAS NORMALES INDIRECTAS + HORAS EXTRAS INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.h_indirecta+a.e_indirecta) INTO k_horas
|
|
FROM cttb00003 a
|
|
WHERE a.departamento = 6114 and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "RECUPERACION"
|
|
LET num = 8
|
|
LET control = "C1"
|
|
LET dias1 = dia1
|
|
LET t_control = 6
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#--------------------------------------------------------------------------
|
|
# EMPAQUE ESPECIAL
|
|
# HORAS EXTRAS INDIRECTAS + HORAS NORMALES INDIRECTAS
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.h_directa+a.h_indirecta+a.e_directa+a.e_indirecta) INTO k_horas
|
|
FROM cttb00003 a
|
|
WHERE a.departamento = 6117 and a.fecha = dia1 and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "EMP. ESPECIAL"
|
|
LET num = 8
|
|
LET control = "C1"
|
|
LET dias1 = dia1
|
|
LET t_control = 6
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
{
|
|
=============================================================================
|
|
3RA PARTE DEL PROGRAMA PARA BUSCAR LA PRODUCCION DE PILAS:
|
|
D,C Y AA. LOS DEPARTAMENTOS MANTENIMIENTO, SERV. GENERALES, CONTROL
|
|
CALIDAD, RECUPERACION, EMP. ESPECIAL, GERENCIA PLANTA.
|
|
=============================================================================
|
|
}
|
|
LET id = 2
|
|
|
|
# PRODUCCION PILAS D
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.cantidad_2) INTO p_horas
|
|
FROM iptb00006 a
|
|
WHERE (a.cod_grupo = 1) and (a.cod_mov = 20) and
|
|
(a.fecha = dia1) and (a.status_t is null)
|
|
|
|
LET dpto = "D "
|
|
LET num = 7
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 2
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,p_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# PRODUCCION PILAS C
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.cantidad_2) INTO k_horas
|
|
FROM iptb00006 a
|
|
WHERE (a.cod_grupo = 2) and
|
|
(a.cod_mov = 20) and
|
|
(a.fecha = dia1) and
|
|
(a.status_t is null)
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "C "
|
|
LET num = 7
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 2
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# PRODUCCION PILAS AA
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.cantidad_2) INTO k_horas
|
|
FROM iptb00006 a
|
|
WHERE (a.cod_grupo = 3) and
|
|
(a.cod_mov = 20) and
|
|
(a.fecha = dia1) and
|
|
(a.status_t is null)
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "AA"
|
|
LET num = 7
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 2
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
{
|
|
=============================================================================
|
|
4TA PARTE DEL PROGRAMA PARA BUSCAR LA PRODUCCION DE PILAS:
|
|
D,C Y AA. LOS DEPARTAMENTOS MANTENIMIENTO, SERV. GENERALES, CONTROL
|
|
CALIDAD, RECUPERACION, EMP. ESPECIAL, GERENCIA PLANTA.
|
|
=============================================================================
|
|
}
|
|
LET id = 3
|
|
|
|
# PERSONAL DE PRODUCCION
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
DECLARE busca20 CURSOR FOR
|
|
SELECT UNIQUE a.emp_no
|
|
FROM cttb00003 a
|
|
WHERE
|
|
(a.fecha = dia1) and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "PRODUCCION"
|
|
LET num = 5
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
FOREACH busca20 INTO k_horas
|
|
SELECT unique cod_n FROM iptb00006
|
|
WHERE (fecha = dia1) and
|
|
(cod_mov = 20) and
|
|
status_t is null
|
|
|
|
IF status != notfound THEN
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
END IF
|
|
|
|
END FOREACH
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
|
|
# SUPERVISION
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
DECLARE busca1 CURSOR FOR
|
|
SELECT UNIQUE a.departamento,a.num_emp
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE (a.departamento = b.departamento) and
|
|
(a.num_emp= b.num_emp) and
|
|
(b.nivel_emp = 2) and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "SUPERVISION"
|
|
LET num = 5
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
FOREACH busca1 INTO k_horas,k_horas
|
|
SELECT unique cod_n FROM iptb00006
|
|
WHERE (fecha = dia1) and
|
|
(cod_mov = 20) and
|
|
status_t is null
|
|
|
|
IF status != notfound THEN
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
END IF
|
|
END FOREACH
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# MANTENIMIENTO
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
DECLARE busca2 CURSOR FOR
|
|
SELECT UNIQUE a.departamento,a.num_emp INTO k_horas,k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE (a.departamento = b.departamento) and
|
|
(a.departamento in (6200,6400)) and
|
|
(a.num_emp = b.num_emp) and
|
|
(b.nivel_emp not in (2)) and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "MANTENIMIENTO"
|
|
LET num = 5
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
FOREACH busca2 INTO k_horas,k_horas
|
|
SELECT unique cod_n FROM iptb00006
|
|
WHERE (fecha = dia1) and
|
|
(cod_mov = 20) and
|
|
status_t is null
|
|
|
|
IF status != notfound THEN
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
END IF
|
|
END FOREACH
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# SERV. GENERALES
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
DECLARE busca10 CURSOR FOR
|
|
SELECT UNIQUE a.departamento,a.num_emp INTO k_horas,k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE (a.departamento = b.departamento) and
|
|
(a.departamento = 6500) and
|
|
(a.num_emp = b.num_emp) and
|
|
(b.nivel_emp not in (2)) and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "SERV. GENERALES"
|
|
LET num = 5
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
FOREACH busca10 INTO k_horas
|
|
SELECT unique cod_n FROM iptb00006
|
|
WHERE (fecha = dia1) and
|
|
(cod_mov = 20) and
|
|
status_t is null
|
|
|
|
IF status != notfound THEN
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
END IF
|
|
END FOREACH
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# CONTROL CALIDAD
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
DECLARE busca3 CURSOR FOR
|
|
SELECT UNIQUE a.departamento,a.num_emp INTO k_horas,k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE (a.departamento = b.departamento) and
|
|
(a.departamento = 6300) and
|
|
(a.num_emp = b.num_emp) and
|
|
(b.nivel_emp not in (2)) and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "CONT. CALIDAD"
|
|
LET num = 5
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
FOREACH busca3 INTO k_horas
|
|
SELECT unique cod_n FROM iptb00006
|
|
WHERE (fecha = dia1) and
|
|
(cod_mov = 20) and
|
|
status_t is null
|
|
|
|
IF status != notfound THEN
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
END IF
|
|
END FOREACH
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# GERENCIA DE PLANTA
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
DECLARE busca13 CURSOR FOR
|
|
SELECT UNIQUE a.departamento,a.num_emp INTO k_horas,k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE (a.departamento = b.departamento) and
|
|
(a.departamento = 6000) and
|
|
(a.num_emp = b.num_emp) and
|
|
(b.nivel_emp not in (2)) and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "GERENCIA PLANTA"
|
|
LET num = 5
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
FOREACH busca13 INTO k_horas
|
|
SELECT unique cod_n FROM iptb00006
|
|
WHERE (fecha = dia1) and
|
|
(cod_mov = 20) and
|
|
status_t is null
|
|
|
|
IF status != notfound THEN
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
END IF
|
|
END FOREACH
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
# HORAS ADM.
|
|
|
|
LET id = 4
|
|
# GERENCIA DE PLANTA
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
|
|
SELECT SUM(a.hn_ind+a.he_ind) INTO k_horas,k_horas
|
|
FROM prtb00003 a
|
|
WHERE (a.departamento = 6000) and a.fecha = dia1 and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET k_horas = k_horas
|
|
LET dpto = "GERENCIA PLANTA"
|
|
LET num = 6
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# SUPERVISOR
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
SELECT SUM(a.hn_ind+a.he_ind) INTO k_horas
|
|
FROM prtb00003 a,adtb00003 b
|
|
WHERE (a.departamento = b.departamento) and (a.num_emp = b.num_emp) and
|
|
(b.nivel_emp = 2 ) and a.fecha = dia1 and a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "SUPERVISOR"
|
|
LET num = 6
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
# HORAS NORMALES INDIRECTAS
|
|
# CONTROL CALIDAD
|
|
LET dia1 = fecha1
|
|
FOR idx = 1 TO 7
|
|
|
|
SELECT SUM(a.hn_ind+a.he_ind) INTO k_horas FROM prtb00003 a,adtb00003 b
|
|
WHERE a.departamento = 6300 and
|
|
b.departamento = 6300 and
|
|
a.num_emp = b.num_emp and
|
|
b.nivel_emp = 1 and
|
|
a.fecha = dia1 and
|
|
a.status_t is null
|
|
|
|
IF k_horas is null THEN
|
|
LET k_horas = 0
|
|
END IF
|
|
|
|
LET dpto = "CONT. CALIDAD"
|
|
LET num = 6
|
|
LET control = "A1"
|
|
LET dias1 = dia1
|
|
LET t_control = 1
|
|
OUTPUT TO REPORT reporte_3(id,t_control,dias1,dpto,control,num,k_horas)
|
|
LET dia1 = dia1 + 1
|
|
END FOR
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
FINISH REPORT reporte_3
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
REPORT reporte_3(x_id,k_control,x_dia,x_dpto,x_control,numero,x_horas)
|
|
DEFINE empleados,num_ant,x_id,k_control,numero,dias,p_sabado,p_domingo,
|
|
p_lunes,p_martes,p_miercoles,p_jueves,p_viernes SMALLINT,
|
|
nombre_prt CHAR(30)
|
|
DEFINE x_dpto CHAR(13)
|
|
DEFINE x_control CHAR(2)
|
|
DEFINE t_lunes,t_martes,t_miercoles,t_jueves,t_viernes,t_sabado,t_domingo,
|
|
lunes,martes,miercoles,jueves,viernes,sabado,domingo,
|
|
x_horas DECIMAL(8,2),
|
|
x_dia DATE,
|
|
t_planta,t_planta1,t_prod DECIMAL(12,2),
|
|
t_planta_l,t_planta_l1,t_planta_m,t_planta_m1,t_planta_ma,t_planta_ma1,
|
|
t_planta_j,t_planta_j1,t_planta_v,t_planta_v1,t_planta_s,t_planta_s1,
|
|
t_planta_d,t_planta_d1,total1,total2,total3,total4,total5,total6,total7,
|
|
total8,total11,total12,total13,total14,total15,total16,total17,total18
|
|
DECIMAL(8,2),
|
|
hora_lunes,hora_martes,hora_miercoles,hora_jueves,hora_viernes,
|
|
hora_sabado,hora_domingo,hora_t_prod SMALLINT
|
|
|
|
|
|
DEFINE doce_of,comprime,doce_on,negrillas_on,negrillas_off,doce CHAR(2)
|
|
OUTPUT
|
|
TOP MARGIN 3
|
|
LEFT MARGIN 5
|
|
|
|
ORDER BY x_id,k_control,numero,x_dpto DESC,x_control
|
|
FORMAT
|
|
|
|
PAGE HEADER
|
|
LET doce_on = ASCII 27, ASCII 77
|
|
LET comprime = ASCII 15
|
|
LET doce_of = ASCII 27, ASCII 80
|
|
LET negrillas_on = ASCII 27, ASCII 69
|
|
LET negrillas_off = ASCII 27, ASCII 70
|
|
|
|
PRINT comprime,negrillas_on
|
|
PRINT COLUMN 1,"prprrp003",
|
|
COLUMN 48, "R A Y .O. V A C D O M I N I C A N A, S. A.",
|
|
COLUMN 128, "PAG. ",pageno using "###"
|
|
PRINT COLUMN 48, " SISTEMA DE PRODUCCION",
|
|
COLUMN 128, TODAY USING "DD/MM/YY"
|
|
PRINT COLUMN 48, " RESUMEN SEMANAL DE PRODUCTIVIDAD",
|
|
COLUMN 128, TIME
|
|
PRINT negrillas_off
|
|
|
|
PRINT "FECHA: DEL ",fecha1 using "dd/mm/yy"," AL ",fecha2 using "dd/mm/yy"
|
|
|
|
PRINT
|
|
"=============================================================================",
|
|
"=========================================================="
|
|
|
|
PRINT COLUMN 1, "CONCEPTO",
|
|
COLUMN 30, "DEPTO",
|
|
COLUMN 51, "SABADO",
|
|
COLUMN 62, "DOMINGO",
|
|
COLUMN 69, " LUNES",
|
|
COLUMN 83, "MARTES",
|
|
COLUMN 93, "MIERCOLES",
|
|
COLUMN 105, "JUEVES",
|
|
COLUMN 114, "VIERNES",
|
|
COLUMN 128, " TOTAL"
|
|
|
|
PRINT
|
|
"=============================================================================",
|
|
"=========================================================="
|
|
SKIP 1 LINE
|
|
|
|
BEFORE GROUP OF x_control
|
|
|
|
IF num_ant != numero THEN
|
|
CASE
|
|
WHEN numero = 1
|
|
LET nombre_prt = "HORAS NORMALES DIRECTAS"
|
|
WHEN numero = 2
|
|
LET nombre_prt = "HORAS NORMALES INDIRECTAS"
|
|
WHEN numero = 3
|
|
LET nombre_prt = "HORAS EXTRAS DIRECTAS"
|
|
WHEN numero = 4
|
|
LET nombre_prt = "HORAS EXTRAS INDIRECTAS"
|
|
WHEN numero = 5
|
|
LET nombre_prt = "PERSONAL DE"
|
|
WHEN numero = 6
|
|
LET nombre_prt = "HORAS ADM."
|
|
WHEN numero = 7
|
|
LET nombre_prt = "PRODUCCION"
|
|
WHEN numero = 8
|
|
LET nombre_prt = "HORAS IND NO PRODUCTIVAS"
|
|
WHEN numero = 10
|
|
LET nombre_prt = "HORAS NORMALES INDIRECTAS"
|
|
WHEN numero = 11
|
|
LET nombre_prt = "HORAS EXTRAS INDIRECTAS "
|
|
END CASE
|
|
LET num_ant = numero
|
|
|
|
PRINT COLUMN 1, nombre_prt clipped," ";
|
|
END IF
|
|
PRINT COLUMN 27, x_dpto;
|
|
ON EVERY ROW
|
|
IF x_horas is null THEN
|
|
LET x_horas = 0
|
|
END IF
|
|
|
|
IF x_id != 3 THEN
|
|
PRINT COLUMN 47, x_horas using "###,###.##"," ";
|
|
END IF
|
|
AFTER GROUP OF x_dpto
|
|
IF x_id != 3 THEN
|
|
PRINT COLUMN 104, GROUP SUM(x_horas)
|
|
WHERE numero = numero using "#,###,###.##"
|
|
END IF
|
|
IF x_id = 3 THEN
|
|
|
|
IF x_dpto = "PRODUCCION" THEN
|
|
LET arreglo[3,8].nombre="PRODUCCION"
|
|
LET arreglo[3,1].sabado= GROUP COUNT(*) WHERE weekday(x_dia) = 6
|
|
LET arreglo[3,2].domingo= GROUP COUNT(*) WHERE weekday(x_dia) = 0
|
|
LET arreglo[3,3].lunes= GROUP COUNT(*) WHERE weekday(x_dia) = 1
|
|
LET arreglo[3,4].martes= GROUP COUNT(*) WHERE weekday(x_dia) = 2
|
|
LET arreglo[3,5].miercoles= GROUP COUNT(*) WHERE weekday(x_dia) = 3
|
|
LET arreglo[3,6].jueves= GROUP COUNT(*) WHERE weekday(x_dia) = 4
|
|
LET arreglo[3,7].viernes= GROUP COUNT(*) WHERE weekday(x_dia) = 5
|
|
END IF
|
|
LET dias = 0
|
|
LET empleados = 0
|
|
LET p_sabado = GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 6
|
|
IF p_sabado > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_sabado
|
|
LET p_domingo =GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 0
|
|
IF p_domingo > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_domingo
|
|
|
|
LET p_lunes = GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 1
|
|
IF p_lunes > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_lunes
|
|
|
|
LET p_martes = GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 2
|
|
IF p_martes > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_martes
|
|
|
|
LET p_miercoles =
|
|
GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 3
|
|
IF p_miercoles > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_miercoles
|
|
|
|
LET p_jueves = GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 4
|
|
IF p_jueves > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_jueves
|
|
|
|
LET p_viernes =GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 5
|
|
IF p_viernes > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_viernes
|
|
IF dias = 0 THEN
|
|
LET dias = 1
|
|
END IF
|
|
|
|
PRINT COLUMN 47, p_sabado using "###,###.##"," ",
|
|
p_domingo using "###,###.##"," ",
|
|
p_lunes using "###,###.##"," ",
|
|
p_martes using "###,###.##"," ",
|
|
p_miercoles using "###,###.##"," ",
|
|
p_jueves using "###,###.##"," ",
|
|
p_viernes using "###,###.##"," ",
|
|
empleados/dias using "####,###,###"," "
|
|
END IF
|
|
|
|
AFTER GROUP OF numero
|
|
PRINT negrillas_on
|
|
|
|
IF x_id != 3 THEN
|
|
PRINT COLUMN 1, "TOTAL: ",
|
|
COLUMN 47, GROUP SUM(x_horas) WHERE weekday(x_dia) = 6
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) WHERE weekday(x_dia) = 0
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) WHERE weekday(x_dia) = 1
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) WHERE weekday(x_dia) = 2
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) WHERE weekday(x_dia) = 3
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) WHERE weekday(x_dia) = 4
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) WHERE weekday(x_dia) = 5
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas) using "#,###,###.##"
|
|
PRINT negrillas_off
|
|
END IF
|
|
|
|
IF x_id = 3 THEN
|
|
LET dias = 0
|
|
LET empleados = 0
|
|
LET p_sabado = GROUP COUNT(*)
|
|
WHERE weekday(x_dia) = 6
|
|
IF p_sabado > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_sabado
|
|
LET p_domingo =GROUP COUNT(*) WHERE weekday(x_dia) = 0
|
|
IF p_domingo > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_domingo
|
|
|
|
LET p_lunes = GROUP COUNT(*) WHERE weekday(x_dia) = 1
|
|
IF p_lunes > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_lunes
|
|
|
|
LET p_martes = GROUP COUNT(*) WHERE weekday(x_dia) = 2
|
|
IF p_martes > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_martes
|
|
|
|
LET p_miercoles =
|
|
GROUP COUNT(*) WHERE weekday(x_dia) = 3
|
|
IF p_miercoles > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_miercoles
|
|
|
|
LET p_jueves = GROUP COUNT(*) WHERE weekday(x_dia) = 4
|
|
IF p_jueves > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_jueves
|
|
|
|
LET p_viernes =GROUP COUNT(*) WHERE weekday(x_dia) = 5
|
|
IF p_jueves > 0 THEN
|
|
LET dias = dias + 1
|
|
END IF
|
|
LET empleados = empleados + p_viernes
|
|
|
|
IF dias = 0 THEN
|
|
LET dias = 1
|
|
END IF
|
|
PRINT negrillas_on
|
|
PRINT "TOTAL: ",
|
|
COLUMN 47, p_sabado using "###,###.##"," ",
|
|
p_domingo using "###,###.##"," ",
|
|
p_lunes using "###,###.##"," ",
|
|
p_martes using "###,###.##"," ",
|
|
p_miercoles using "###,###.##"," ",
|
|
p_jueves using "###,###.##"," ",
|
|
p_viernes using "###,###.##"," ",
|
|
empleados/dias using "####,###,###"
|
|
display "PASE 1"
|
|
PRINT negrillas_off
|
|
|
|
PRINT "HORAS NO PRODUCTIVAS"
|
|
PRINT arreglo[3,8].nombre;
|
|
PRINT COLUMN 47, arreglo[3,1].sabado * .5 USING "###,###.##"," ",
|
|
arreglo[3,2].domingo * .5 USING "###,###.##"," ",
|
|
arreglo[3,3].lunes * .5 USING "###,###.##"," ",
|
|
arreglo[3,4].martes * .5 USING "###,###.##"," ",
|
|
arreglo[3,5].miercoles * .5 USING "###,###.##"," ",
|
|
arreglo[3,6].jueves * .5 USING "###,###.##"," ",
|
|
arreglo[3,7].viernes * .5 USING "###,###.##"," ",
|
|
(arreglo[3,1].sabado*.5) +(arreglo[3,2].domingo*.5) +
|
|
(arreglo[3,3].lunes*.5)+(arreglo[3,4].martes*.5) +
|
|
(arreglo[3,5].miercoles*.5) +(arreglo[3,6].jueves*.5) +
|
|
(arreglo[3,7].viernes*.5) using "###,###.##"
|
|
|
|
END IF
|
|
|
|
|
|
AFTER GROUP OF k_control
|
|
IF x_id = 1 THEN
|
|
IF primera = "S" THEN
|
|
LET primera = "N"
|
|
LET total11 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total12 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total13 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total14 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total15 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total16 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total17 = GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero = 2 or
|
|
numero = 4)
|
|
|
|
LET total18 = total11+total12+total13+total14+total15+total16+total17
|
|
|
|
PRINT "HORAS IND. NO PRODUCTIVAS",
|
|
COLUMN 47, total11 using "###,###.##"," ",
|
|
total12 using "###,###.##"," ",
|
|
total13 using "###,###.##"," ",
|
|
total14 using "###,###.##"," ",
|
|
total15 using "###,###.##"," ",
|
|
total16 using "###,###.##"," ",
|
|
total17 using "###,###.##"," ",
|
|
total18 using "###,###.##"
|
|
END IF
|
|
|
|
PRINT negrillas_on
|
|
PRINT "TOTAL GENERAL: ",
|
|
COLUMN 47, GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 using "###,###.##"," ",
|
|
GROUP SUM(x_horas) using "#,###,###.##"
|
|
END IF
|
|
PRINT negrillas_off
|
|
|
|
AFTER GROUP OF x_id
|
|
IF x_id = 1 THEN
|
|
PRINT COLUMN 1, "HORAS NORMALES"," ";
|
|
PRINT COLUMN 47, GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero = 1 or
|
|
numero = 2 or numero = 10)
|
|
using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE numero = 1 or numero = 2 or
|
|
numero = 10 using "###,###.##"
|
|
|
|
PRINT COLUMN 1, "HORAS EXTRAS "," ";
|
|
PRINT COLUMN 47, GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero = 3 or
|
|
numero = 4 or numero = 11)
|
|
using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE numero = 3 or numero = 4 or numero = 11
|
|
using "###,###.##"," "
|
|
|
|
PRINT COLUMN 1, "HORAS GENERALES"," ";
|
|
PRINT COLUMN 47, GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia)=6 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11) using "###,###.##"," ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia)=0 and (numero = 3 or numero = 1 or
|
|
numero = 2 or numero = 4 or numero = 10 or
|
|
numero = 11) using "###,###.##",
|
|
" ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero=3 or numero = 1 or
|
|
numero = 2 or numero = 4 or numero = 10 or
|
|
numero = 11) using "###,###.##",
|
|
" ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero=3 or numero = 1 or
|
|
numero = 2 or numero = 4 or numero = 10 or
|
|
numero = 11) using "###,###.##",
|
|
" ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia)=3 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero=3 or numero=1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero=3 or numero=1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE numero=3 or numero=1 or numero=2 or numero=4 or
|
|
numero = 10 or numero = 11 using "###,###.##"," "
|
|
PRINT COLUMN 1, "HORAS DIRECTAS"," ";
|
|
PRINT COLUMN 47, GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero = 3 or
|
|
numero = 1) using "###,###.##", " ",
|
|
GROUP SUM(x_horas)
|
|
WHERE (numero = 3 or numero = 1) using "###,###.##"
|
|
END IF
|
|
|
|
PRINT "==================================================================",
|
|
"====================================================================="
|
|
|
|
|
|
ON LAST ROW
|
|
LET lunes = SUM(x_horas) WHERE weekday(x_dia) = 1 and numero = 7
|
|
LET martes =SUM(x_horas) WHERE weekday(x_dia) = 2 and numero = 7
|
|
LET miercoles = SUM(x_horas) WHERE weekday(x_dia) = 3 and numero = 7
|
|
LET jueves = SUM(x_horas) WHERE weekday(x_dia) = 4 and numero = 7
|
|
LET viernes = SUM(x_horas) WHERE weekday(x_dia) = 5 and numero = 7
|
|
LET sabado = SUM(x_horas) WHERE weekday(x_dia) = 6 and numero = 7
|
|
LET domingo = SUM(x_horas) WHERE weekday(x_dia) = 0 and numero = 7
|
|
|
|
|
|
CASE
|
|
WHEN lunes is null LET lunes = 0 EXIT CASE
|
|
WHEN martes is null LET martes = 0 EXIT CASE
|
|
WHEN miercoles is null LET miercoles = 0 EXIT CASE
|
|
WHEN jueves is null LET jueves = 0 EXIT CASE
|
|
WHEN viernes is null LET viernes = 0 EXIT CASE
|
|
WHEN sabado is null LET sabado = 0 EXIT CASE
|
|
WHEN domingo is null LET domingo = 0 EXIT CASE
|
|
END CASE
|
|
LET t_prod = lunes + martes + miercoles + jueves + viernes + sabado +
|
|
domingo
|
|
|
|
PRINT "UNIDADES/HORAS DIRECTAS ";
|
|
LET hora_sabado = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero = 3 or
|
|
numero = 1)
|
|
LET hora_domingo = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero = 3 or
|
|
numero = 1)
|
|
LET hora_lunes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero = 3 or
|
|
numero = 1)
|
|
LET hora_martes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero = 3 or
|
|
numero = 1)
|
|
LET hora_jueves = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero = 3 or
|
|
numero = 1)
|
|
LET hora_viernes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero = 3 or
|
|
numero = 1)
|
|
LET hora_t_prod = SUM(x_horas)
|
|
WHERE numero = 3 or numero = 1
|
|
|
|
IF hora_sabado = 0 THEN
|
|
LET hora_sabado = 1
|
|
END IF
|
|
IF hora_domingo = 0 THEN
|
|
LET hora_domingo = 1
|
|
END IF
|
|
IF hora_lunes = 0 THEN
|
|
LET hora_lunes = 1
|
|
END IF
|
|
IF hora_martes = 0 THEN
|
|
LET hora_martes = 1
|
|
END IF
|
|
IF hora_miercoles = 0 THEN
|
|
LET hora_miercoles = 1
|
|
END IF
|
|
IF hora_jueves = 0 THEN
|
|
LET hora_jueves = 1
|
|
END IF
|
|
IF hora_viernes = 0 THEN
|
|
LET hora_viernes = 1
|
|
END IF
|
|
IF hora_t_prod = 0 THEN
|
|
LET hora_t_prod = 1
|
|
END IF
|
|
|
|
PRINT COLUMN 47,sabado/ hora_sabado using "###,###.##"," ",
|
|
domingo/ hora_domingo using "###,###.##", " ",
|
|
lunes/hora_lunes using "###,###.##"," ",
|
|
martes/hora_martes using "###,###.##"," ",
|
|
miercoles/hora_miercoles using "###,###.##"," ",
|
|
jueves/hora_jueves using "###,###.##"," ",
|
|
viernes/hora_viernes using "###,###.##"," ",
|
|
t_prod/hora_t_prod using "###,###.##"," "
|
|
display "PASE 2"
|
|
LET hora_sabado = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_domingo = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_lunes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_martes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_miercoles = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_jueves = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_viernes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero = 3 or
|
|
numero =10 or numero =11 or numero = 1) and
|
|
x_dpto = "MANTENIMIENTO"
|
|
LET hora_t_prod = SUM(x_horas)
|
|
WHERE (numero = 3 or numero =10 or numero =11 or
|
|
numero = 1) and x_dpto = "MANTENIMIENTO"
|
|
IF hora_sabado = 0 THEN
|
|
LET hora_sabado = 1
|
|
END IF
|
|
IF hora_domingo = 0 THEN
|
|
LET hora_domingo = 1
|
|
END IF
|
|
IF hora_lunes = 0 THEN
|
|
LET hora_lunes = 1
|
|
END IF
|
|
IF hora_martes = 0 THEN
|
|
LET hora_martes = 1
|
|
END IF
|
|
IF hora_miercoles = 0 THEN
|
|
LET hora_miercoles = 1
|
|
END IF
|
|
IF hora_jueves = 0 THEN
|
|
LET hora_jueves = 1
|
|
END IF
|
|
IF hora_viernes = 0 THEN
|
|
LET hora_viernes = 1
|
|
END IF
|
|
IF hora_t_prod = 0 THEN
|
|
LET hora_t_prod = 1
|
|
END IF
|
|
|
|
PRINT "UNIDADES/HR. MANTENIMIENTO ";
|
|
PRINT COLUMN 47, sabado/hora_sabado using "###,###.##"," ",
|
|
domingo/hora_domingo using "###,###.##"," ",
|
|
lunes/hora_lunes using "###,###.##"," ",
|
|
martes/hora_martes using "###,###.##"," ",
|
|
miercoles/hora_miercoles using "###,###.##"," ",
|
|
jueves/hora_jueves using "###,###.##"," ",
|
|
viernes/hora_viernes using "###,###.##"," ",
|
|
t_prod/hora_t_prod using "###,###.##"," "
|
|
display "PASE 3"
|
|
LET hora_sabado = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_domingo = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_lunes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_martes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_miercoles = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_jueves = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_viernes = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and (numero=3 or numero = 1 or
|
|
numero=2 or numero=4 or numero = 10 or
|
|
numero = 11)
|
|
LET hora_t_prod = SUM(x_horas)
|
|
WHERE (numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or
|
|
numero = 11)
|
|
IF hora_sabado = 0 THEN
|
|
LET hora_sabado = 1
|
|
END IF
|
|
IF hora_domingo = 0 THEN
|
|
LET hora_domingo = 1
|
|
END IF
|
|
IF hora_lunes = 0 THEN
|
|
LET hora_lunes = 1
|
|
END IF
|
|
IF hora_martes = 0 THEN
|
|
LET hora_martes = 1
|
|
END IF
|
|
IF hora_miercoles = 0 THEN
|
|
LET hora_miercoles = 1
|
|
END IF
|
|
IF hora_jueves = 0 THEN
|
|
LET hora_jueves = 1
|
|
END IF
|
|
IF hora_viernes = 0 THEN
|
|
LET hora_viernes = 1
|
|
END IF
|
|
IF hora_t_prod = 0 THEN
|
|
LET hora_t_prod = 1
|
|
END IF
|
|
PRINT "UNIDADES/HORAS GENERALES";
|
|
PRINT COLUMN 47, sabado/hora_sabado using "###,###.##"," ",
|
|
domingo/hora_domingo using "###,###.##"," ",
|
|
lunes/hora_lunes using "###,###.##"," ",
|
|
martes/hora_martes using "###,###.##"," ",
|
|
miercoles/hora_miercoles using "###,###.##"," ",
|
|
jueves/hora_jueves using "###,###.##"," ",
|
|
viernes/hora_viernes using "###,###.##"," ",
|
|
t_prod/hora_t_prod using "###,###.##"
|
|
#---------------------------------------------------------------------------
|
|
display "PASE 4"
|
|
LET t_planta_l = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_l1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 1 and
|
|
numero = 6
|
|
|
|
LET t_planta_ma = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_ma1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 2 and
|
|
numero = 6
|
|
|
|
LET t_planta_m = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_m1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 3 and
|
|
numero = 6
|
|
|
|
LET t_planta_j = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_j1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 4 and
|
|
numero = 6
|
|
|
|
LET t_planta_v = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_v1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 5 and
|
|
numero = 6
|
|
|
|
LET t_planta_s = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_s1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 6 and
|
|
numero = 6
|
|
|
|
LET t_planta_d = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and
|
|
(numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta_d1 = SUM(x_horas)
|
|
WHERE weekday(x_dia) = 0 and
|
|
numero = 6
|
|
#---------------------------------------------------------------------------
|
|
|
|
LET t_planta = SUM(x_horas)
|
|
WHERE (numero = 3 or numero = 1 or numero = 2 or
|
|
numero = 4 or numero = 10 or numero = 11)
|
|
|
|
LET t_planta1 = SUM(x_horas)
|
|
WHERE numero = 6
|
|
|
|
PRINT "UNIDADES/HR. PLANTA ";
|
|
PRINT COLUMN 47, sabado/(t_planta_s + t_planta_s1)
|
|
using "###,###.##"," ",
|
|
domingo/(t_planta_d + t_planta_d1)
|
|
using "###,###.##"," ",
|
|
lunes/(t_planta_l + t_planta_l1)
|
|
using "###,###.###"," ",
|
|
martes/(t_planta_ma + t_planta_ma1)
|
|
using "###,###.##"," ",
|
|
miercoles/(t_planta_m + t_planta_m1)
|
|
using "###,###.##"," ",
|
|
jueves/(t_planta_j + t_planta_j1) using "###,###.##",
|
|
viernes/(t_planta_v + t_planta_v1)
|
|
using "###,###.##"," ",
|
|
t_prod/(t_planta + t_planta1)
|
|
using "###,###.##"
|
|
PRINT doce_of
|
|
display "PASE 5"
|
|
END REPORT
|