Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -34,6 +34,28 @@ DO UPDATE SET
|
||||
|
||||
`
|
||||
|
||||
const ListRoleDepartmentMembers = `
|
||||
SELECT DISTINCT
|
||||
u.id,
|
||||
COALESCE(NULLIF(BTRIM(u.full_name), ''), u.username) AS full_name,
|
||||
u.username
|
||||
FROM mk_dfusr u
|
||||
JOIN dfrole_usr ru
|
||||
ON ru.dfusr_id = u.id
|
||||
AND ru.dfrole_id = $1
|
||||
JOIN dfusr_dprt ud
|
||||
ON ud.dfusr_id = u.id
|
||||
AND ud.is_active = TRUE
|
||||
JOIN mk_dprt d
|
||||
ON d.id = ud.dprt_id
|
||||
AND d.code = $2
|
||||
WHERE u.is_active = TRUE
|
||||
ORDER BY
|
||||
COALESCE(NULLIF(BTRIM(u.full_name), ''), u.username),
|
||||
u.username,
|
||||
u.id
|
||||
`
|
||||
|
||||
// LIST (role+department sets with summary)
|
||||
const ListRoleDepartmentPermissionSets = `
|
||||
WITH role_dept AS (
|
||||
@@ -88,7 +110,37 @@ SELECT
|
||||
AND pa.department_code = b.department_code
|
||||
),
|
||||
'{}'::jsonb
|
||||
) AS module_flags
|
||||
) AS module_flags,
|
||||
COALESCE(
|
||||
(
|
||||
SELECT jsonb_agg(
|
||||
jsonb_build_object(
|
||||
'id', member.id,
|
||||
'full_name', member.full_name,
|
||||
'username', member.username
|
||||
)
|
||||
ORDER BY member.full_name, member.username, member.id
|
||||
)
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
u.id,
|
||||
COALESCE(NULLIF(BTRIM(u.full_name), ''), u.username) AS full_name,
|
||||
u.username
|
||||
FROM mk_dfusr u
|
||||
JOIN dfrole_usr ru
|
||||
ON ru.dfusr_id = u.id
|
||||
AND ru.dfrole_id = b.role_id
|
||||
JOIN dfusr_dprt ud
|
||||
ON ud.dfusr_id = u.id
|
||||
AND ud.is_active = TRUE
|
||||
JOIN mk_dprt member_dept
|
||||
ON member_dept.id = ud.dprt_id
|
||||
AND member_dept.code = b.department_code
|
||||
WHERE u.is_active = TRUE
|
||||
) member
|
||||
),
|
||||
'[]'::jsonb
|
||||
) AS members
|
||||
FROM base b
|
||||
ORDER BY
|
||||
b.role_title,
|
||||
|
||||
Reference in New Issue
Block a user