Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md

This commit is contained in:
2026-08-18 20:59:52 -04:00
commit 454973e269
5978 changed files with 2664094 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
FUNCTION mover_fecha_conteo(v_cod_n,v_cod_grupo,v_cod_tipo,v_cod_sec,v_fecha_conteo,v_bodega)
DEFINE v_categoria CHAR(2)
DEFINE v_dias,v_diasCiclo INTEGER
DEFINE v_fecha_nueva,
v_fecha_base,v_fecha_conteo,v_semana_al DATE
DEFINE v_codid INTEGER
DEFINE v_cod_n,
v_cod_grupo,
v_cod_tipo,
v_cod_sec,
v_bodega INTEGER
-- Cursor para obtener productos cuyo conteo ya fue realizado
DECLARE c_conteos CURSOR FOR
SELECT b.codid,a.cod_n, a.cod_grupo, a.cod_tipo, a.cod_sec, a.bodega, a.categoria, a.semana_del
FROM intb00015 a, iptb00002 b
WHERE a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND
a.cod_sec = b.cod_Sec AND
a.cod_n = v_cod_n AND a.cod_grupo = v_cod_grupo AND a.cod_tipo = v_cod_tipo AND a.cod_sec = v_cod_sec AND
a.estado = 'Pendiente' AND a.semana_del <=v_fecha_conteo
OPEN c_conteos
FOREACH c_conteos INTO v_codid, v_cod_n, v_cod_grupo, v_cod_tipo, v_cod_sec, v_bodega, v_categoria, v_fecha_base
-- Obtener los días de ciclo de acuerdo a la categoría
SELECT a.diasProximoConteo,a.dias INTO v_dias,v_diasCiclo
FROM intb00016 a
WHERE a.categoria = v_categoria
IF SQLCA.SQLCODE = 0 THEN
-- Calcular nueva fecha base sumando los días de la categoría
LET v_fecha_nueva = v_fecha_base + v_dias
-- Asegurar que la nueva fecha sea un lunes
WHILE WEEKDAY(v_fecha_nueva) != 1 -- 1 representa Lunes en Genero 4GL
LET v_fecha_nueva = v_fecha_nueva + 1
END WHILE
LET v_semana_al = v_fecha_nueva + v_diascICLO
-- Actualizar el estado del conteo actual a 'Finalizado'
UPDATE intb00015
SET estado = 'Realizado',us_mod = SUSER_SNAME(),fech_mod = getdate()
WHERE a.cod_n = v_cod_n AND a.cod_grupo = v_cod_grupo AND a.cod_tipo = v_cod_tipo
AND a.cod_sec = v_cod_sec
AND bodega = v_bodega
AND estado_conteo = 'Pendiente'
-- Insertar un nuevo registro con la nueva fecha programada
INSERT INTO intb00015 ( cod_n, cod_grupo, cod_tipo, cod_sec, bodega, semana_Del, semana_Al, categoria, estado_conteo)
VALUES (v_cod_n, v_cod_grupo, v_cod_tipo, v_cod_sec, v_bodega, v_fecha_nueva, v_semana_al, v_categoria, 'Pendiente', TODAY)
END IF
END FOREACH
CLOSE c_conteos
END FUNCTION