AD
Size: a a a
AD
A
IZ
A
IP
IZ
IZ
A
DS
CREATE TABLE regions (id INT AUTO_INCREMENT UNIQUE, user_id INT NOT NULL, last_check DATE DEFAULT (CURRENT_DATE), FOREIGN KEY (user_id) REFERENCES users(id));
S
CREATE TABLE regions (id INT AUTO_INCREMENT UNIQUE, user_id INT NOT NULL, last_check DATE DEFAULT (CURRENT_DATE), FOREIGN KEY (user_id) REFERENCES users(id));
S
====================================================
AD
CREATE TABLE regions (id INT AUTO_INCREMENT UNIQUE, user_id INT NOT NULL, last_check DATE DEFAULT (CURRENT_DATE), FOREIGN KEY (user_id) REFERENCES users(id));
DS
ВР
set @pr = (select flag from pr where pr.prCode = 'r');
DELIMITER //
create definer = 'sofit'@'%' procedure rpc_dasTreeListChilds(a JSON)
BEGIN
set @iduser = json_unquote(json_extract(a, '$.iduser'));
set @idugr = json_unquote(json_extract(a, '$.idugr'));
set @idgrmp = toSqlNull(json_unquote(json_extract(a, '$.idgrmp')));
if @idgrmp is not null then
call bl_accessGrmp(@idgrmp, @idugr, @iduser, 'r');
set @parentIdmp = null;
set @idgr = null;
set @parentMpName = null;
set @parentMpCode = null;
set @childs = null;
select
idmp, idgr, mpNameOriginal, mpCode
into @parentIdmp, @idgr, @parentMpName, @parentMpCode
from v_grmp
where idgrmp = @idgrmp;
select
JSON_ARRAYAGG(JSON_OBJECT(
'idnode', cast(idgrmp as CHAR),
'name', mpNameOriginal,
'code', mpCode,
'state', "unknown",
'hasChilds', ifnull((select exists(select 1 from grmp where idgr = @idgr and idmpp = v_grmp.idmp)), 0)
))
into @childs
from v_grmp
where idgr = @idgr
and idmpp = @parentIdmp;
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select JSON_OBJECT('parent', cast(@parent as JSON), 'childs', ifnull(cast(@childs as JSON), cast('[]' as JSON))) `json`;
elseif @idgrmp is null then
set @idgr = json_unquote(json_extract(a, '$.idgr'));
set @idgrmp = (select idgrmp from grmp where idgr = @idgr and idmpp is null);
set @pr = (select flag from pr where pr.prCode = 'r');
select @pr;
set @prGroup = (
select
a.flag
from ugrgr
inner join pr a on(ugrgr.prCode = a.prCode)
inner join `user` on(ugrgr.idugr = user.idugr)
where ugrgr.idugr = @idugr
and user.iduser = @iduser
and ugrgr.idgr = @idgr
limit 1
);
set @hasAccess = (@pr = (select @prGroup & @pr));
if @hasAccess is null or @hasAccess = 0 then
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'access denied';
end if;
set @parentIdmp = null;
set @parentMpName = null;
set @parentMpCode = null;
set @childs = null;
select
idmp, mpNameOriginal, mpCode
into @parentIdmp, @parentMpName, @parentMpCode
from v_grmp
where idgrmp = @idgrmp;
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select
JSON_ARRAYAGG(JSON_OBJECT(
'idnode', cast(idgrmp as CHAR),
'name', mpNameOriginal,
'code', mpCode,
'state', "unknown",
'hasChilds', ifnull((select exists(select 1 from grmp where idgr = @idgr and idmpp = v_grmp.idmp)), 0)
))
into @childs
from v_grmp
where idgr = @idgr
and idmpp = @parentIdmp;
ВР
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select JSON_OBJECT('parent', cast(@parent as JSON), 'childs', ifnull(cast(@childs as JSON), cast('[]' as JSON))) `json`;
end if;
END //
S
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select JSON_OBJECT('parent', cast(@parent as JSON), 'childs', ifnull(cast(@childs as JSON), cast('[]' as JSON))) `json`;
end if;
END //
S
set @pr = (select flag from pr where pr.prCode = 'r');
DELIMITER //
create definer = 'sofit'@'%' procedure rpc_dasTreeListChilds(a JSON)
BEGIN
set @iduser = json_unquote(json_extract(a, '$.iduser'));
set @idugr = json_unquote(json_extract(a, '$.idugr'));
set @idgrmp = toSqlNull(json_unquote(json_extract(a, '$.idgrmp')));
if @idgrmp is not null then
call bl_accessGrmp(@idgrmp, @idugr, @iduser, 'r');
set @parentIdmp = null;
set @idgr = null;
set @parentMpName = null;
set @parentMpCode = null;
set @childs = null;
select
idmp, idgr, mpNameOriginal, mpCode
into @parentIdmp, @idgr, @parentMpName, @parentMpCode
from v_grmp
where idgrmp = @idgrmp;
select
JSON_ARRAYAGG(JSON_OBJECT(
'idnode', cast(idgrmp as CHAR),
'name', mpNameOriginal,
'code', mpCode,
'state', "unknown",
'hasChilds', ifnull((select exists(select 1 from grmp where idgr = @idgr and idmpp = v_grmp.idmp)), 0)
))
into @childs
from v_grmp
where idgr = @idgr
and idmpp = @parentIdmp;
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select JSON_OBJECT('parent', cast(@parent as JSON), 'childs', ifnull(cast(@childs as JSON), cast('[]' as JSON))) `json`;
elseif @idgrmp is null then
set @idgr = json_unquote(json_extract(a, '$.idgr'));
set @idgrmp = (select idgrmp from grmp where idgr = @idgr and idmpp is null);
set @pr = (select flag from pr where pr.prCode = 'r');
select @pr;
set @prGroup = (
select
a.flag
from ugrgr
inner join pr a on(ugrgr.prCode = a.prCode)
inner join `user` on(ugrgr.idugr = user.idugr)
where ugrgr.idugr = @idugr
and user.iduser = @iduser
and ugrgr.idgr = @idgr
limit 1
);
set @hasAccess = (@pr = (select @prGroup & @pr));
if @hasAccess is null or @hasAccess = 0 then
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'access denied';
end if;
set @parentIdmp = null;
set @parentMpName = null;
set @parentMpCode = null;
set @childs = null;
select
idmp, mpNameOriginal, mpCode
into @parentIdmp, @parentMpName, @parentMpCode
from v_grmp
where idgrmp = @idgrmp;
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select
JSON_ARRAYAGG(JSON_OBJECT(
'idnode', cast(idgrmp as CHAR),
'name', mpNameOriginal,
'code', mpCode,
'state', "unknown",
'hasChilds', ifnull((select exists(select 1 from grmp where idgr = @idgr and idmpp = v_grmp.idmp)), 0)
))
into @childs
from v_grmp
where idgr = @idgr
and idmpp = @parentIdmp;
S
set @pr = (select flag from pr where pr.prCode = 'r');
DELIMITER //
create definer = 'sofit'@'%' procedure rpc_dasTreeListChilds(a JSON)
BEGIN
set @iduser = json_unquote(json_extract(a, '$.iduser'));
set @idugr = json_unquote(json_extract(a, '$.idugr'));
set @idgrmp = toSqlNull(json_unquote(json_extract(a, '$.idgrmp')));
if @idgrmp is not null then
call bl_accessGrmp(@idgrmp, @idugr, @iduser, 'r');
set @parentIdmp = null;
set @idgr = null;
set @parentMpName = null;
set @parentMpCode = null;
set @childs = null;
select
idmp, idgr, mpNameOriginal, mpCode
into @parentIdmp, @idgr, @parentMpName, @parentMpCode
from v_grmp
where idgrmp = @idgrmp;
select
JSON_ARRAYAGG(JSON_OBJECT(
'idnode', cast(idgrmp as CHAR),
'name', mpNameOriginal,
'code', mpCode,
'state', "unknown",
'hasChilds', ifnull((select exists(select 1 from grmp where idgr = @idgr and idmpp = v_grmp.idmp)), 0)
))
into @childs
from v_grmp
where idgr = @idgr
and idmpp = @parentIdmp;
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select JSON_OBJECT('parent', cast(@parent as JSON), 'childs', ifnull(cast(@childs as JSON), cast('[]' as JSON))) `json`;
elseif @idgrmp is null then
set @idgr = json_unquote(json_extract(a, '$.idgr'));
set @idgrmp = (select idgrmp from grmp where idgr = @idgr and idmpp is null);
set @pr = (select flag from pr where pr.prCode = 'r');
select @pr;
set @prGroup = (
select
a.flag
from ugrgr
inner join pr a on(ugrgr.prCode = a.prCode)
inner join `user` on(ugrgr.idugr = user.idugr)
where ugrgr.idugr = @idugr
and user.iduser = @iduser
and ugrgr.idgr = @idgr
limit 1
);
set @hasAccess = (@pr = (select @prGroup & @pr));
if @hasAccess is null or @hasAccess = 0 then
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'access denied';
end if;
set @parentIdmp = null;
set @parentMpName = null;
set @parentMpCode = null;
set @childs = null;
select
idmp, mpNameOriginal, mpCode
into @parentIdmp, @parentMpName, @parentMpCode
from v_grmp
where idgrmp = @idgrmp;
set @parent = JSON_SET('{}',
'$.idnode', cast(@idgrmp as CHAR),
'$.name', @parentMpName,
'$.code', @parentMpCode,
'$.state', 'unknown',
'$.hasChilds', if(JSON_LENGTH(@childs) > 0, 1, 0));
select
JSON_ARRAYAGG(JSON_OBJECT(
'idnode', cast(idgrmp as CHAR),
'name', mpNameOriginal,
'code', mpCode,
'state', "unknown",
'hasChilds', ifnull((select exists(select 1 from grmp where idgr = @idgr and idmpp = v_grmp.idmp)), 0)
))
into @childs
from v_grmp
where idgr = @idgr
and idmpp = @parentIdmp;