Files
MBS/WEBSERVICES/test/uploadimage.4gl
T

148 lines
4.8 KiB
Plaintext

IMPORT os
MAIN
CALL actfoto()
END MAIN
FUNCTION actfoto()
DEFINE codn,codgrupo,codtipo,codsec,xcodid,xid_categoria,xid_familia,xid_brand INT,
xunidad VARCHAR(10),xtraduccion,xdescripcion1,xdescripcion VARCHAR(255),
xpropiedad1,xpropiedad2 STRING,
xprecio FLOAT,
ximagen BYTE,
xnombre_file,
xmetadata VARCHAR(100),rutafile,fileread,filename,xtipodata,ficha_t,ruta_ficha STRING
CONNECT TO "smarmotech" USER 'jsoto' USING 'lmmjvsd2014'
DECLARE buscar CURSOR FOR
SELECT DISTINCT a.codid,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
a.descrip_esp,b.descripcion_esp,a.unidad_med,b.descripcion_us,b.propiedades_esp,
b.propiedades_us,b.meta_data, ISNULL(c.precio,0),
b.id_categoria,b.id_familia,b.id_brand,
d.nombre_file_foto ,d.tipo_data,b.nombre_file_ficha
FROM iptb00002 a INNER join tmpproductostienda b
on 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
left OUTER JOIN tmpfotos d
ON
a.cod_n = d.cod_n AND
a.cod_grupo = d.cod_grupo AND
a.cod_tipo = d.cod_tipo AND
a.cod_Sec = d.cod_sec AND d.tipo_data = 'PRINCIPAL'
left outer join vetb00025 c on
c.ventas = 3 AND
a.cod_n = c.cod_n AND
a.cod_grupo = c.cod_grupo AND
a.cod_tipo = c.cod_tipo AND
a.cod_Sec = c.cod_sec
WHERE a.status_t IS NULL AND b.tipo_data = 'PRINCIPAL'
# LET rutafile = 'C:\\Users\\jsoto\\Documents\\PROYECTOS\\BDL320\\WEBSERVICES\\bin\\img\\'
LET rutafile = 'e:\\IMAGENESTIENDA\\'
LOCATE ximagen IN MEMORY
# DELETE FROM iptb00016
# DELETE FROM iptb00018
FOREACH buscar INTO xcodid,codn,codgrupo,codtipo,codsec, xdescripcion1,xdescripcion,xunidad,xtraduccion,
xpropiedad1,xpropiedad2,xmetadata,xprecio,
xid_categoria,xid_familia,xid_brand,xnombre_file,xtipodata,ficha_t
IF xnombre_file IS NOT NULL THEN
LET filename = xnombre_file CLIPPED
LET fileread = rutafile CLIPPED,filename CLIPPED
LET ruta_ficha = rutafile CLIPPED,ficha_t
{ IF os.Path.exists(fileread) THEN
DISPLAY "NOMBRE FILE ",fileread
CALL comprimeImagen(fileread,' -resize 500x500 ')
DISPLAY "encontre el file ",xcodid,xdescripcion," ",xtraduccion, " ",xnombre_file
ELSE
DISPLAY "NO ENCONTRE al file ",fileread
END IF}
END IF
SELECT DISTINCT a.codid FROM iptb00016 a
WHERE a.codid = xcodid
IF STATUS = NOTFOUND THEN
DISPLAY " A ACTUALIZAR EL CODID ",xcodid,xdescripcion," ",xtraduccion, " ",fileread
INSERT INTO iptb00016
(codid
,cod_n
,cod_grupo
,cod_tipo
,cod_sec
,descripcion
,precio
,nombre_file_ficha
,fech_crea
,us_crea
,nombre_file_foto
,ruta_foto
,precio_usd
,descripcion_user
,id_categoria
,id_familia
,id_brand
,descripcion_us
,propiedades
,propiedades1
,metadata
,unidad_med
,ruta_file_ficha
)
VALUES
(xcodid
,codn
,codgrupo
,codtipo
,codsec
,xdescripcion1
,xprecio
,ficha_t
,getdate()
,'JSOTO'
,xnombre_file
,fileread
,xprecio
,xdescripcion
,xid_categoria
,xid_familia
,xid_brand
,xtraduccion
,xpropiedad1
,xpropiedad2
,xmetadata
,xunidad
,ruta_ficha
)
ELSE
DISPLAY " UPDATE EL CODID ",xcodid,xdescripcion," ",xtraduccion, " ",fileread
UPDATE iptb00016 SET nombre_file_ficha = ficha_t,ruta_file_ficha=ruta_ficha WHERE codid = xcodid
END IF
IF xnombre_file IS NOT NULL AND xtipodata = 'GALERIA' THEN
DISPLAY " A ACTUALIZAR EL CODID ",xcodid,xdescripcion," ",xtraduccion, " ",fileread
SELECT DISTINCT a.codid FROM iptb00018 a
WHERE a.codid = xcodid
IF STATUS = NOTFOUND THEN
INSERT INTO iptb00018 (codid,cod_n,cod_grupo,cod_tipo,cod_sec,nombre_file,ruta_file_foto)
VALUES
(xcodid,codn,codgrupo,codtipo,codsec,xnombre_file,fileread )
END IF
END IF
END FOREACH
END FUNCTION
FUNCTION comprimeImagen(filedestino,tamano)
DEFINE filedestino, comando,tamano STRING
LET comando = 'magick convert ',filedestino,tamano,filedestino
RUN comando
END FUNCTION