210 lines
6.5 KiB
Plaintext
210 lines
6.5 KiB
Plaintext
|
|
IMPORT util
|
|
|
|
FUNCTION ip_descarga_conteo(d)
|
|
|
|
DEFINE d,unasolavez STRING
|
|
|
|
DEFINE p RECORD
|
|
credenciales RECORD
|
|
usuario,clave VARCHAR(50)
|
|
END RECORD,
|
|
pconteo_trx DYNAMIC ARRAY OF RECORD
|
|
idtrx int,
|
|
fecha CHAR(10),
|
|
bodega smallint ,
|
|
cod_seccion smallint ,
|
|
cod_tramo SMALLINT ,
|
|
cod_fila SMALLINT,
|
|
cod_pos SMALLINT,
|
|
cod_n SMALLINT ,
|
|
cod_grupo smallint ,
|
|
cod_tipo smallint ,
|
|
cod_sec smallint ,
|
|
cantidad float,
|
|
balance float ,
|
|
us_crea varchar(50) ,
|
|
fech_crea VARCHAR(16),
|
|
tipo_inventario VARCHAR(100)
|
|
|
|
END RECORD,
|
|
desglose DYNAMIC ARRAY OF RECORD
|
|
bodega,cod_seccion,cod_tramo,cod_fila,cod_pos, cod_n,cod_grupo,cod_tipo,cod_sec,codid,idtrx INT,
|
|
observacion VARCHAR(200),
|
|
lado_1,lado_2,lado_3,cantidad,cantidad2 DECIMAL(12,5),
|
|
idproducto VARCHAR(25),
|
|
fecha DATE,
|
|
tono,calidad string
|
|
END RECORD,
|
|
|
|
mensajes RECORD
|
|
cod_msg INT,
|
|
descripcion STRING
|
|
END RECORD
|
|
END RECORD
|
|
DEFINE r RECORD
|
|
ERRORES STRING,
|
|
cuenta_data int
|
|
END RECORD,
|
|
i,idx int
|
|
|
|
TRY
|
|
CALL util.JSON.parse(d, p)
|
|
CATCH
|
|
LET r.errores = "FGL ERROR: ", err_get(status)
|
|
RETURN util.JSON.stringify(r)
|
|
END TRY
|
|
CONNECT TO "smarmotech" USER p.credenciales.usuario USING p.credenciales.clave
|
|
IF STATUS <0 THEN
|
|
LET p.mensajes.cod_msg = STATUS
|
|
LET p.mensajes.descripcion='ERROR CONEXION ',SQLCA.sqlerrm
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(p)
|
|
END IF
|
|
|
|
BEGIN WORK
|
|
LET unasolavez = 'NO'
|
|
FOR i = 1 TO p.pconteo_trx.getLength()
|
|
|
|
IF p.pconteo_trx[i].tipo_inventario = "PRODUCTOS TERMINADOS" THEN
|
|
INSERT INTO iptb00012
|
|
(
|
|
idtrx
|
|
,fecha
|
|
,bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,cod_fila
|
|
,cod_pos
|
|
,cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,cantidad
|
|
,us_crea
|
|
,fech_crea
|
|
)
|
|
VALUES
|
|
(p.pconteo_trx[i].idtrx,p.pconteo_trx[i].fecha,p.pconteo_trx[i].bodega,p.pconteo_trx[i].cod_seccion,
|
|
p.pconteo_trx[i].cod_tramo,p.pconteo_trx[i].cod_fila,p.pconteo_trx[i].cod_pos,
|
|
p.pconteo_trx[i].cod_n,p.pconteo_trx[i].cod_grupo,p.pconteo_trx[i].cod_tipo,
|
|
p.pconteo_trx[i].cod_sec,p.pconteo_trx[i].cantidad,p.pconteo_trx[i].us_crea,p.pconteo_trx[i].fech_crea)
|
|
IF unasolavez = 'NO' THEN
|
|
LET unasolavez = 'SI'
|
|
{ SE PUSO EN COMENTARIO PORQUE LA TABLA 62, SE CONVIRTIO EN LAS UBICACIONES,
|
|
SE DEBE CREAR OTRA TABLA PARA EL DESGLOSE
|
|
FOR idx = 1 TO p.desglose.getLength()
|
|
IF p.desglose[idx].codid IS NOT NULL THEN
|
|
INSERT INTO iptb00062
|
|
(bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,cod_fila
|
|
,cod_pos
|
|
,cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,codid
|
|
,lado_1
|
|
,lado_2
|
|
,lado_3
|
|
,observacion
|
|
,cantidad
|
|
,cantidad2
|
|
,idproducto
|
|
,us_crea
|
|
,fech_crea
|
|
,idtrx
|
|
,fecha
|
|
,tono
|
|
,calidad)
|
|
VALUES
|
|
(p.desglose[idx].bodega
|
|
,p.desglose[idx].cod_seccion
|
|
,p.desglose[idx].cod_tramo
|
|
,p.desglose[idx].cod_n
|
|
,p.desglose[idx].cod_grupo
|
|
,p.desglose[idx].cod_tipo
|
|
,p.desglose[idx].cod_sec
|
|
,p.desglose[idx].codid
|
|
,p.desglose[idx].lado_1
|
|
,p.desglose[idx].lado_2
|
|
,p.desglose[idx].lado_3
|
|
,p.desglose[idx].observacion
|
|
,p.desglose[idx].cantidad
|
|
,p.desglose[idx].cantidad2
|
|
,p.desglose[idx].idproducto
|
|
,p.credenciales.usuario
|
|
,getdate()
|
|
,p.pconteo_trx[i].idtrx
|
|
,p.desglose[idx].fecha
|
|
,p.desglose[idx].tono
|
|
,p.desglose[idx].calidad)
|
|
END IF
|
|
END FOR
|
|
} END IF
|
|
END IF
|
|
IF p.pconteo_trx[i].tipo_inventario = "MATERIA PRIMA" THEN
|
|
DISPLAY p.pconteo_trx[i].*
|
|
INSERT INTO intb00012
|
|
(
|
|
idtrx
|
|
,fecha
|
|
,bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,cantidad
|
|
,balance
|
|
,us_crea
|
|
,fech_crea
|
|
)
|
|
VALUES
|
|
(p.pconteo_trx[i].idtrx,p.pconteo_trx[i].fecha,p.pconteo_trx[i].bodega,p.pconteo_trx[i].cod_seccion,
|
|
p.pconteo_trx[i].cod_tramo,p.pconteo_trx[i].cod_n,p.pconteo_trx[i].cod_grupo,p.pconteo_trx[i].cod_tipo,
|
|
p.pconteo_trx[i].cod_sec,p.pconteo_trx[i].cantidad,p.pconteo_trx[i].balance,p.pconteo_trx[i].us_crea,
|
|
p.pconteo_trx[i].fech_crea)
|
|
|
|
|
|
END IF
|
|
IF p.pconteo_trx[i].tipo_inventario = "REPUESTOS" THEN
|
|
INSERT INTO irtb00012
|
|
(
|
|
idtrx
|
|
,fecha
|
|
,bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,cantidad
|
|
,balance
|
|
,us_crea
|
|
,fech_crea
|
|
|
|
)
|
|
VALUES
|
|
(p.pconteo_trx[i].idtrx,p.pconteo_trx[i].fecha,p.pconteo_trx[i].bodega,p.pconteo_trx[i].cod_seccion,
|
|
p.pconteo_trx[i].cod_tramo,p.pconteo_trx[i].cod_n,p.pconteo_trx[i].cod_grupo,p.pconteo_trx[i].cod_tipo,
|
|
p.pconteo_trx[i].cod_sec,p.pconteo_trx[i].cantidad,p.pconteo_trx[i].balance,p.pconteo_trx[i].us_crea
|
|
,p.pconteo_trx[i].fech_crea)
|
|
|
|
END IF
|
|
|
|
|
|
END FOR
|
|
COMMIT WORK
|
|
LET p.mensajes.descripcion = "ACTUALIZACION EXITOSA"
|
|
LET p.mensajes.cod_msg=0
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(p)
|
|
|
|
END FUNCTION
|
|
|