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