Files
MBS/WEBSERVICES/ordenes_insert_1.4gl

95 lines
3.0 KiB
Plaintext

IMPORT util
IMPORT security
FUNCTION orden_insert(xorden)
DEFINE i SMALLINT,
xorden STRING,
ximpresor,xcopia SMALLINT,
xtipoOrden VARCHAR(30),
estado BOOLEAN
DEFINE data RECORD
generales RECORD
usuario VARCHAR(50),
clave VARCHAR(50),
cotizacion_no INT,
orden_cliente STRING,
comentario_adicional VARCHAR(100)
END RECORD,
archivos DYNAMIC ARRAY OF RECORD
tipo_file VARCHAR(3),
imagen BYTE
END RECORD
END RECORD
DEFINE r_out RECORD
orden INT,
mensaje_out STRING,
cod_msg INT
END RECORD,
xnombre_file,contenido STRING,
id_file SMALLINT
# LOCATE data.archivos.imagen IN MEMORY
CALL util.JSON.parse(xorden,data)
# WHENEVER ERROR CONTINUE
CONNECT TO "smarmotech" USER data.generales.usuario USING data.generales.clave
IF STATUS < 0 THEN
LET r_out.cod_msg = STATUS
LET r_out.orden=0
LET r_out.mensaje_out = 'ERROR EN USUARIO CONECTANDOSE A LA BASE DE DATOS'
DISCONNECT CURRENT
RETURN util.JSON.stringify(r_out)
END IF
DISPLAY "DATOS ",data.generales.cotizacion_no
SELECT a.num_oc FROM prtb00012 a WHERE a.cotizacion_no = data.generales.cotizacion_no AND a.status_t IS NULL
IF STATUS <> NOTFOUND THEN
LET r_out.cod_msg = -10
LET r_out.orden=0
LET r_out.mensaje_out = 'COTIZACION TIENE ORDEN DE PEDIDOS'
DISCONNECT CURRENT
RETURN util.JSON.stringify(r_out)
ELSE
SELECT a.printerdefecto,a.otro_printer
INTO ximpresor,xcopia
FROM seg0001 a
WHERE a.usuario = data.generales.usuario
LET xtipoOrden='GENERAL'
CALL convierteorden(data.generales.cotizacion_no,data.generales.orden_cliente,data.generales.usuario,data.generales.clave,ximpresor,xcopia,xtipoOrden,data.generales.comentario_adicional)
RETURNING r_out.orden,estado
IF data.archivos.getLength() > 0 THEN
FOR i = 1 TO data.archivos.getLength()
IF data.archivos[i].tipo_file IS NOT NULL THEN
LET id_file = i
LET xnombre_file = r_out.orden USING "<<<<<<<<","-",id_file USING "&&&",".",data.archivos[i].tipo_file CLIPPED
INSERT INTO prtb00029
(num_oc
,documento
,nombre_file
,tipo_file
,id
,us_crea
,fech_crea
)
VALUES
(r_out.orden,data.archivos[i].imagen,xnombre_file,'DI',id_file,data.generales.usuario,getdate())
# CALL gen_nombre_archivo(rusuario.tipo_file) RETURNING nombre_file
# CALL rusuario.imagen.writeFile(nombre_file)
# CALL file_to_b64(nombre_file) RETURNING rusuario.imagen
# CALL documento(rusuario.imagen,r_out.orden)
END IF
END FOR
END IF
END IF
LET r_out.cod_msg=13
LET r_out.mensaje_out='ADICION EXITOSA'
DISCONNECT CURRENT
RETURN util.JSON.stringify(r_out)
END FUNCTION