Files
MBS/WEBSERVICES/ordenes_cantidad.4gl

76 lines
2.8 KiB
Plaintext

IMPORT util
IMPORT security
FUNCTION orden_cantidad(xorden)
DEFINE xorden STRING,
cantidad_orden,cantidad_producida FLOAT
DEFINE data RECORD
generales RECORD
usuario VARCHAR(50),
clave VARCHAR(50),
cantidad FLOAT,
orden_cliente INT,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo INT,
cod_Sec INT
END RECORD
END RECORD
DEFINE r_out RECORD
orden INT,
mensaje_out STRING,
cod_msg INT,
cantidad_orden FLOAT
END RECORD
CALL util.JSON.parse(xorden,data)
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
LET r_out.cod_msg=0
LET r_out.mensaje_out=NULL
LET r_out.cantidad_orden=0
LET cantidad_orden = 0
DISPLAY "ORDEN ",data.generales.orden_cliente
SELECT a.num_oc FROM prtb00012 a
WHERE a.num_oc = data.generales.orden_cliente AND a.status_t IS NULL
IF STATUS = NOTFOUND THEN
LET r_out.cod_msg = -10
LET r_out.orden=data.generales.orden_cliente
LET r_out.mensaje_out = 'NO EXISTE ORDEN DE PEDIDOS O FUE ANULADA POR EL USUARIO'
DISCONNECT CURRENT
RETURN util.JSON.stringify(r_out)
ELSE
SELECT SUM(a.cantidad) INTO cantidad_orden FROM prtb00023 a
WHERE (a.num_oc = data.generales.orden_cliente AND
a.cod_n = data.generales.cod_n AND a.cod_grupo = data.generales.cod_grupo AND
a.cod_tipo = data.generales.cod_tipo AND a.cod_sec = data.generales.cod_Sec)
SELECT SUM(a.cantidad_2) INTO cantidad_producida FROM iptb00006 a
WHERE (a.num_oc = data.generales.orden_cliente AND
a.cod_n = data.generales.cod_n AND a.cod_grupo = data.generales.cod_grupo AND
a.cod_tipo = data.generales.cod_tipo AND a.cod_sec = data.generales.cod_Sec) AND
a.cod_mov IN (70,71,72) AND
a.status_t IS NULL
IF cantidad_producida >= cantidad_orden THEN
LET r_out.cod_msg = -10
LET r_out.orden=data.generales.orden_cliente
LET r_out.cantidad_orden = cantidad_orden
LET r_out.mensaje_out = 'NO PUEDES ADICIONAR ESTA PRODUCCION, LA CANTIDAD PRODUCIDA EN EL SISTEMA ES ',cantidad_producida
DISCONNECT CURRENT
RETURN util.JSON.stringify(r_out)
END IF
END IF
DISCONNECT CURRENT
LET r_out.cantidad_orden = cantidad_orden
RETURN util.JSON.stringify(r_out)
END FUNCTION