Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
|
||||
GLOBALS
|
||||
"adprgb000.4gl"
|
||||
DEFINE periodo SMALLINT,
|
||||
fecha_inicial,fecha_final DATE
|
||||
DEFINE arr_vacaciones DYNAMIC ARRAY OF RECORD
|
||||
genera,
|
||||
empleado,
|
||||
departamento,
|
||||
puesto STRING,
|
||||
sueldo ,
|
||||
valor_vacacion ,
|
||||
proporcion_vac FLOAT,
|
||||
fecha_ult_vac CHAR(10),
|
||||
fecha_salida DATE,
|
||||
estado STRING,
|
||||
dias_tomados ,
|
||||
balance_dias SMALLINT,
|
||||
num_emp INT,
|
||||
fecha_efectiva DATE,
|
||||
tipo_sueldo CHAR(20)
|
||||
END RECORD,
|
||||
xnum_nomi INT,
|
||||
xtipo_emp VARCHAR(2)
|
||||
MAIN
|
||||
|
||||
DEFER INTERRUPT
|
||||
CALL STARTLOG("adprmt33.log")
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
|
||||
CALL adprmt033()
|
||||
|
||||
END MAIN
|
||||
FUNCTION adprmt033()
|
||||
|
||||
CALL ui.Interface.loadStyles("formularios")
|
||||
OPEN WINDOW w1 WITH FORM "adfmwd016"
|
||||
|
||||
DIALOG ATTRIBUTE(UNBUFFERED)
|
||||
INPUT BY NAME periodo,xtipo_emp,xnum_nomi
|
||||
AFTER FIELD xnum_nomi
|
||||
SELECT a.num_nomi FROM notb00010 a WHERE a.num_nomi = xnum_nomi AND a.tipo_emp =xtipo_emp
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL msg(3)
|
||||
NEXT FIELD xtipo_emp
|
||||
END IF
|
||||
AFTER FIELD periodo
|
||||
SELECT MIN(a.fecha_inicio),MAX(a.fecha_corte)
|
||||
INTO fecha_inicial,fecha_final
|
||||
FROM prdtable a WHERE a.ano = periodo
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL msg(3)
|
||||
NEXT FIELD periodo
|
||||
END IF
|
||||
DISPLAY BY NAME fecha_inicial,fecha_final
|
||||
|
||||
AFTER INPUT
|
||||
|
||||
|
||||
DECLARE busca_vacaciones CURSOR FOR
|
||||
SELECT 'NO',RTRIM(a.nom1_emp)+' '+ISNULL(a.apell1_emp,' '),b.nom_dpto,c.nom_puesto,a.sueldo_ac,'0','0',' ',' ',
|
||||
' ','0','0',a.num_emp,a.fech_efec,
|
||||
a.tipo_sueldo
|
||||
FROM adtb00003 a,adtb00001 b,adtb00004 c
|
||||
WHERE num_emp not in (select num_emp from notb00008 where cod_mov = 36 AND
|
||||
fecha between fecha_inicial and fecha_final) and
|
||||
a.departamento = b.departamento and a.cod_puesto = c.cod_puesto and a.status_t is null
|
||||
order by b.nom_dpto
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_vacaciones INTO arr_vacaciones[idx].*
|
||||
SELECT MAX(CONVERT(CHAR(10),a.fecha,103)) INTO arr_vacaciones[idx].fecha_ult_vac
|
||||
FROM notb00008 a
|
||||
WHERE a.num_emp = arr_vacaciones[idx].num_emp AND a.cod_mov = 36
|
||||
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
END INPUT
|
||||
INPUT ARRAY arr_vacaciones FROM svacaciones.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
BEFORE INPUT
|
||||
CALL DIALOG.setActionActive( "insert", FALSE )
|
||||
CALL DIALOG.setActionActive( "append", FALSE )
|
||||
CALL DIALOG.setActionActive( "delete", FALSE )
|
||||
CALL dialog.setActionHidden('insert',TRUE)
|
||||
CALL dialog.setActionHidden('append',TRUE)
|
||||
CALL dialog.setActionHidden('delete',TRUE)
|
||||
|
||||
|
||||
ON ACTION procesar ATTRIBUTE(TEXT="Procesa",IMAGE="fa-american-sign-language-interpreting")
|
||||
FOR idx = 1 TO arr_vacaciones.getLength()
|
||||
IF arr_vacaciones[idx].genera = "SI" THEN
|
||||
CALL vacaciones('A',arr_vacaciones[idx].tipo_sueldo,'36',null,TODAY,
|
||||
arr_vacaciones[idx].fecha_efectiva,
|
||||
arr_vacaciones[idx].fecha_salida,xnum_nomi,arr_vacaciones[idx].num_emp,
|
||||
xtipo_emp,arr_vacaciones[idx].sueldo)
|
||||
RETURNING arr_vacaciones[idx].estado,arr_vacaciones[idx].proporcion_vac,
|
||||
arr_vacaciones[idx].valor_vacacion,
|
||||
arr_vacaciones[idx].dias_tomados,arr_vacaciones[idx].balance_dias
|
||||
END IF
|
||||
END FOR
|
||||
END INPUT
|
||||
ON ACTION CANCEL ATTRIBUTE(TEXT="Cancelar",IMAGE="quit")
|
||||
EXIT PROGRAM
|
||||
END DIALOG
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user