Scripts for receiving id's and wrapper id's for selected jobProfile
MODDICONV-360 - Getting issue details... STATUS
SQL for receiving associations for a linear profile (without matched sub-profiles)
SQL for receiving job profiles without matching profile
set SEARCH_PATH = '<tenant_id>_mod_di_converter_storage';
SELECT DISTINCT
job_profiles.id,
job_profiles.jsonb ->> 'name' AS job_name,
match_profiles.jsonb ->> 'name' AS match_name,
action_profiles.jsonb ->> 'name' AS action_name,
mapping_profiles.jsonb ->> 'name' AS mapping_name
FROM
job_profiles
left JOIN profile_wrappers pw ON job_profiles.id = pw.job_profile_id
left JOIN job_to_match_profiles ON job_to_match_profiles.masterwrapperid = pw.id
left JOIN profile_wrappers pw2 ON pw2.id = job_to_match_profiles.detailwrapperid
left JOIN match_profiles ON match_profiles.id = pw2.match_profile_id
left JOIN match_to_action_profiles ON match_to_action_profiles.masterwrapperid = pw2.id
left JOIN profile_wrappers pw3 ON pw3.id = match_to_action_profiles.detailwrapperid
left JOIN action_profiles ON action_profiles.id = pw3.action_profile_id
left JOIN action_to_mapping_profiles ON action_to_mapping_profiles.masterwrapperid = pw3.id
left JOIN profile_wrappers pw4 ON pw4.id = action_to_mapping_profiles.detailwrapperid
left JOIN mapping_profiles ON mapping_profiles.id = pw4.mapping_profile_id
WHERE
job_profiles.id = '<job_profile_id>'
SQL for receiving all liked profiles for job profile by job_profile_id (sorting not completed yet)
SQL for receiving all liked profiles for job profile by job_profile_id (sorting not completed yet)
set SEARCH_PATH = '<tenantId>_mod_di_converter_storage';
WITH RECURSIVE relations AS (
SELECT
j2match.masterwrapperid AS master_id,
j2match.detailwrapperid AS detail_id,
jp.id AS job_id,
jp.jsonb ->> 'name' AS job_name,
mp.id AS sub_profile_id,
mp.jsonb ->> 'name' AS sub_profile_name,
j2match.jsonb ->> 'order' as match_order,
'JOB_TO_MATCH' as profile_type,
j2match.jsonb ->> 'reactTo' as react_to,
jp.id::text as level
FROM
job_profiles jp
left join profile_wrappers pw ON pw.job_profile_id = jp.id
left join job_to_match_profiles j2match on j2match.masterwrapperid = pw.id
left join profile_wrappers pw2 ON pw2.id = j2match.detailwrapperid
left join match_profiles mp ON mp.id = pw2.match_profile_id
WHERE jp.id = '<job_profile_id>'
UNION ALL
SELECT DISTINCT
m2m.masterwrapperid AS master_id,
m2m.detailwrapperid AS detail_id,
relations.job_id,
relations.job_name,
mp2.id AS sub_profile_id,
mp2.jsonb ->> 'name' AS sub_profile_name,
m2m.jsonb ->> 'order' AS match_order,
'MATCH_TO_MATCH' as profile_type,
m2m.jsonb ->> 'reactTo' as react_to,
relations.level::text || '|' || pw2.id as level
FROM
relations
left join match_to_match_profiles m2m ON m2m.masterwrapperid = relations.detail_id
left join profile_wrappers pw2 ON m2m.detailwrapperid = pw2.id
left join match_profiles mp2 ON pw2.match_profile_id = mp2.id
WHERE mp2.jsonb is not null
)
SELECT
relations.master_id,
relations.detail_id,
relations.job_id,
relations.job_name,
relations.sub_profile_id,
relations.sub_profile_name,
relations.match_order,
relations.profile_type,
relations.react_to,
relations.level
FROM relations
UNION ALL
SELECT DISTINCT
j2a.masterwrapperid AS master_id,
j2a.detailwrapperid AS detail_id,
relations.job_id,
relations.job_name,
ap.id as sub_profile_id,
ap.jsonb ->> 'name' AS sub_profile_name,
j2a.jsonb ->> 'order' AS match_order,
'JOB_TO_ACTION' as profile_type,
j2a.jsonb->> 'reactTo' as react_to,
relations.job_id || '|' || pw2.id as level
FROM relations
left join profile_wrappers pw ON pw.job_profile_id = relations.job_id
left join job_to_action_profiles j2a on j2a.masterwrapperid = pw.id
left join profile_wrappers pw2 ON pw2.id = j2a.detailwrapperid
left join action_profiles ap on ap.id = pw2.action_profile_id
WHERE relations.profile_type = 'JOB_TO_MATCH' and ap.id is not null
UNION ALL
SELECT DISTINCT
m2a.masterwrapperid AS master_id,
m2a.detailwrapperid AS detail_id,
relations.job_id,
relations.job_name,
ap.id as sub_profile_id,
ap.jsonb ->> 'name' AS sub_profile_name,
m2a.jsonb ->> 'order' AS match_order,
'MATCH_TO_ACTION' as profile_type,
m2a.jsonb ->> 'reactTo' as react_to,
relations.level || '|' || pw3.id as level
FROM relations
left join match_to_action_profiles m2a on m2a.masterwrapperid = relations.master_id
left join profile_wrappers pw3 ON pw3.id = m2a.detailwrapperid
left join action_profiles ap on ap.id = pw3.action_profile_id
WHERE relations.profile_type = 'MATCH_TO_MATCH' and ap.id is not null
UNION ALL
SELECT DISTINCT
m2a.masterwrapperid AS master_id,
m2a.detailwrapperid AS detail_id,
relations.job_id,
relations.job_name,
ap.id as sub_profile_id,
ap.jsonb ->> 'name' AS sub_profile_name,
m2a.jsonb ->> 'order' AS match_order,
'MATCH_TO_ACTION' as profile_type,
m2a.jsonb ->> 'reactTo' as react_to,
relations.level || '|' || pw3.id as level
FROM relations
left join match_to_action_profiles m2a on m2a.masterwrapperid = relations.detail_id
left join profile_wrappers pw3 ON pw3.id = m2a.detailwrapperid
left join action_profiles ap on ap.id = pw3.action_profile_id
WHERE relations.profile_type = 'MATCH_TO_MATCH' and ap.id is not null
ORDER BY level, match_order ASC;
, multiple selections available,